首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Db2 on OpenShift

Db2 on OpenShift
EN

Stack Overflow用户
提问于 2020-07-09 08:45:24
回答 1查看 645关注 0票数 2

我对OpenShift很陌生,并试图在OCP上部署Db2。遵循https://github.com/IBM/charts/tree/master/stable/ibm-db2,但当我部署豆荚时,豆荚将永远处于挂起状态,并将错误显示为:

代码语言:javascript
运行
复制
Events:

  Type     Reason            Age                From               Message
  ----     ------            ----               ----               -------
  Warning  FailedScheduling  8s (x65 over 95m)  default-scheduler  0/5 nodes are available: 5 node(s) didn't match node selector.

即使我将专用标记为false(在README.md配置部分下的github链接中提到的参数),或者如果我将节点(3个主2工作人员)标记为icp4data=icp4data,我也会得到相同的错误。

其中一个豆荚的输出(总共8个)到"oc get po -o yaml db2u-Releas-2-db2u-engn-update-作业-8k7h8“:

代码语言:javascript
运行
复制
apiVersion: v1
kind: Pod
metadata:
  annotations:
    openshift.io/scc: db2oltp-scc
    productID: 5737-K75
    productName: Db2 Community Edition
    productVersion: 11.5.4.0
  creationTimestamp: "2020-07-09T12:27:00Z"
  generateName: db2u-release-2-db2u-engn-update-job-
  labels:
    app: db2u-release-2
    chart: ibm-db2
    controller-uid: 4631c618-9904-4978-b5c9-43edd827ce9e
    heritage: Tiller
    icpdsupport/app: db2u-release-2
    icpdsupport/serviceInstanceId: db2u-relea-ibm-db2
    job-name: db2u-release-2-db2u-engn-update-job
    release: db2u-release-2
  name: db2u-release-2-db2u-engn-update-job-8k7h8
  namespace: db2-spm
  ownerReferences:
  - apiVersion: batch/v1
    blockOwnerDeletion: true
    controller: true
    kind: Job
    name: db2u-release-2-db2u-engn-update-job
    uid: 4631c618-9904-4978-b5c9-43edd827ce9e
  resourceVersion: "2173118"
  selfLink: /api/v1/namespaces/db2-spm/pods/db2u-release-2-db2u-engn-update-job-8k7h8
  uid: 09ef3921-63e0-4761-83fe-8ad5986c59d4
spec:
  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: beta.kubernetes.io/arch
            operator: In
            values:
            - unknown
  containers:
  - command:
    - /bin/sh
    - -c
    - "DETERMINATION_FILE=/mnt/blumeta0/nodeslist\nCAT_NODE=$(head -1 $DETERMINATION_FILE)\ncmd=\"\"\nupdt_upgrd_opt=\"-all\"\nhadr_enabled=\"false\"\nRC=0\n\nkubectl
      exec -it -n db2-spm ${CAT_NODE?} -- bash -c '[[ -f /mnt/blumeta0/vrmf/change.out
      ]] || exit 0; exit $(cat /mnt/blumeta0/vrmf/change.out)' 2>/dev/null\nvrmf_chk=$?\necho
      \"VRMF check status bit: ${vrmf_chk}\"\n\n# If HADR is enabled dont run the
      DB update/upgrade scripts. This will be handled\n# by external mechanics to
      work around rolling updates.\nkubectl exec -it -n db2-spm ${CAT_NODE?} -- bash
      -c 'grep -qE \"^HADR_ENABLED.*true\" /mnt/blumeta0/configmap/hadr/*' 2>/dev/null\n[[
      $? -eq 0 ]] && hadr_enabled=\"true\"\n[[ \"${hadr_enabled}\" == \"true\" ]]
      && updt_upgrd_opt=\"-inst\"\n\n# Check VRMF change bit and execute Db2 update
      or upgrade process\nif [[ $vrmf_chk -ne 0 ]]; then\n    if [[ $vrmf_chk -eq
      1 ]]; then\n        echo \"Running the Db2 engine update script ...\"\n        cmd=\"su
      - db2inst1 -c '/db2u/scripts/db2u_update.sh ${updt_upgrd_opt}'\"\n    elif [[
      $vrmf_chk -eq 2 ]]; then\n        echo \"Running the Db2 engine upgrade script
      ...\"\n        cmd=\"su - db2inst1 -c '/db2u/scripts/db2u_upgrade.sh ${updt_upgrd_opt}'\"\n
      \   fi\n    [[ -n \"$cmd\" ]] && kubectl exec -it -n db2-spm ${CAT_NODE?} --
      bash -c \"$cmd\"\n    RC=$?\n    [[ $RC -ne 0 ]] && exit $RC\n\n    # If HADR
      is enabled, dont start Woliverine HA\n    [[ \"${hadr_enabled}\" == \"true\"
      ]] && exit $RC\n\n    # For all other Db2 engine update/upgrade scenarios, start
      Woliverine HA on all Db2U PODs now\n    echo \"Starting Wolverine HA ...\"\n
      \   cmd=\"source /db2u/scripts/include/common_functions.sh && start_wvha_allnodes\"\n
      \   kubectl exec -it -n db2-spm ${CAT_NODE?} -- bash -c \"$cmd\"\n    RC=$?\nfi\nexit
      $RC        \n"
    image: icr.io/obs/hdm/db2u/db2u.tools:11.5.4.0-56-unknown
    imagePullPolicy: IfNotPresent
    name: engn-update
    resources:
      limits:
        cpu: 200m
        memory: 250Mi
      requests:
        cpu: 100m
        memory: 200Mi
    securityContext:
      allowPrivilegeEscalation: false
      capabilities:
        drop:
        - ALL
      privileged: false
      readOnlyRootFilesystem: false
      runAsNonRoot: true
      runAsUser: 500
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: File
    volumeMounts:
    - mountPath: /mnt/blumeta0
      name: metavol
    - mountPath: /mnt/blumeta0/configmap/hadr
      name: db2u-release-2-db2u-hadr-config-volume
    - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
      name: db2u-token-sv5sw
      readOnly: true
  dnsPolicy: ClusterFirst
  enableServiceLinks: true
  imagePullSecrets:
  - name: db2u-dockercfg-ndhhw
  - name: ibm-registry
  initContainers:
  - args:
    - -cx
    - /tools/post-install/db2u_ready.sh --replicas 1 --template db2u-release-2 --namespace
      db2-spm --dbType db2oltp
    command:
    - /bin/sh
    image: icr.io/obs/hdm/db2u/db2u.tools:11.5.4.0-56-unknown
    imagePullPolicy: IfNotPresent
    name: condition-ready
    resources:
      limits:
        cpu: 200m
        memory: 250Mi
      requests:
        cpu: 100m
        memory: 200Mi
    securityContext:
      allowPrivilegeEscalation: false
      capabilities:
        drop:
        - ALL
      privileged: false
      readOnlyRootFilesystem: false
      runAsNonRoot: true
      runAsUser: 500
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: File
    volumeMounts:
    - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
      name: db2u-token-sv5sw
      readOnly: true
  - command:
    - /bin/sh
    - -ec
    - |
      DETERMINATION_FILE=/mnt/blumeta0/nodeslist
      CAT_NODE=$(head -1 $DETERMINATION_FILE)
      # After INSTDB job completes, Db2 instance home is persisted on disk. Which is a
      # prerequisite for the VRMF detection code, since it depends on ~/sqllib/.instuse file.
      kubectl wait --for=condition=complete job/db2u-release-2-db2u-sqllib-shared-job -n db2-spm
      kubectl exec -it -n db2-spm ${CAT_NODE?} -- bash -c "sudo /db2u/scripts/detect_db2_vrmf_change.sh -file"
    image: icr.io/obs/hdm/db2u/db2u.tools:11.5.4.0-56-unknown
    imagePullPolicy: IfNotPresent
    name: detect-vrmf-change
    resources:
      limits:
        cpu: 200m
        memory: 500Mi
      requests:
        cpu: 100m
        memory: 250Mi
    securityContext:
      allowPrivilegeEscalation: false
      capabilities:
        drop:
        - ALL
      privileged: false
      readOnlyRootFilesystem: false
      runAsNonRoot: true
      runAsUser: 500
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: File
    volumeMounts:
    - mountPath: /mnt/blumeta0
      name: metavol
    - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
      name: db2u-token-sv5sw
      readOnly: true
  priority: 0
  restartPolicy: Never
  schedulerName: default-scheduler
  securityContext:
    runAsNonRoot: true
    seLinuxOptions:
      level: s0:c24,c14
  serviceAccount: db2u
  serviceAccountName: db2u
  terminationGracePeriodSeconds: 30
  tolerations:
  - effect: NoExecute
    key: node.kubernetes.io/not-ready
    operator: Exists
    tolerationSeconds: 300
  - effect: NoExecute
    key: node.kubernetes.io/unreachable
    operator: Exists
    tolerationSeconds: 300
  - effect: NoSchedule
    key: node.kubernetes.io/memory-pressure
    operator: Exists
  volumes:
  - name: metavol
    persistentVolumeClaim:
      claimName: db2u-release-2-db2u-meta-storage
  - configMap:
      defaultMode: 420
      name: db2u-release-2-db2u-hadr-config
    name: db2u-release-2-db2u-hadr-config-volume
  - name: db2u-token-sv5sw
    secret:
      defaultMode: 420
      secretName: db2u-token-sv5sw
status:
  conditions:
  - lastProbeTime: null
    lastTransitionTime: "2020-07-09T12:27:00Z"
    message: '0/5 nodes are available: 5 node(s) didn''t match node selector.'
    reason: Unschedulable
    status: "False"
    type: PodScheduled
  phase: Pending
  qosClass: Burstable

输出到"oc获取节点-显示标签“:

代码语言:javascript
运行
复制
NAME                                        STATUS   ROLES    AGE   VERSION           LABELS
ip-10-0-51-114.eu-west-2.compute.internal   Ready    worker   10d   v1.17.1+912792b   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/instance-type=m4.xlarge,beta.kubernetes.io/os=linux,failure-domain.beta.kubernetes.io/region=eu-west-2,failure-domain.beta.kubernetes.io/zone=eu-west-2a,icp4data=icp4data,kubernetes.io/arch=amd64,kubernetes.io/hostname=ip-10-0-51-114,kubernetes.io/os=linux,node-role.kubernetes.io/worker=,node.kubernetes.io/instance-type=m4.xlarge,node.openshift.io/os_id=rhcos,topology.kubernetes.io/region=eu-west-2,topology.kubernetes.io/zone=eu-west-2a
ip-10-0-52-157.eu-west-2.compute.internal   Ready    master   10d   v1.17.1+912792b   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/instance-type=m4.xlarge,beta.kubernetes.io/os=linux,failure-domain.beta.kubernetes.io/region=eu-west-2,failure-domain.beta.kubernetes.io/zone=eu-west-2a,icp4data=icp4data,kubernetes.io/arch=amd64,kubernetes.io/hostname=ip-10-0-52-157,kubernetes.io/os=linux,node-role.kubernetes.io/master=,node.kubernetes.io/instance-type=m4.xlarge,node.openshift.io/os_id=rhcos,topology.kubernetes.io/region=eu-west-2,topology.kubernetes.io/zone=eu-west-2a
ip-10-0-56-116.eu-west-2.compute.internal   Ready    worker   10d   v1.17.1+912792b   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/instance-type=m4.xlarge,beta.kubernetes.io/os=linux,failure-domain.beta.kubernetes.io/region=eu-west-2,failure-domain.beta.kubernetes.io/zone=eu-west-2a,icp4data=icp4data,kubernetes.io/arch=amd64,kubernetes.io/hostname=ip-10-0-56-116,kubernetes.io/os=linux,node-role.kubernetes.io/worker=,node.kubernetes.io/instance-type=m4.xlarge,node.openshift.io/os_id=rhcos,topology.kubernetes.io/region=eu-west-2,topology.kubernetes.io/zone=eu-west-2a
ip-10-0-60-205.eu-west-2.compute.internal   Ready    master   10d   v1.17.1+912792b   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/instance-type=m4.xlarge,beta.kubernetes.io/os=linux,failure-domain.beta.kubernetes.io/region=eu-west-2,failure-domain.beta.kubernetes.io/zone=eu-west-2a,icp4data=icp4data,kubernetes.io/arch=amd64,kubernetes.io/hostname=ip-10-0-60-205,kubernetes.io/os=linux,node-role.kubernetes.io/master=,node.kubernetes.io/instance-type=m4.xlarge,node.openshift.io/os_id=rhcos,topology.kubernetes.io/region=eu-west-2,topology.kubernetes.io/zone=eu-west-2a
ip-10-0-63-107.eu-west-2.compute.internal   Ready    master   10d   v1.17.1+912792b   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/instance-type=m4.xlarge,beta.kubernetes.io/os=linux,failure-domain.beta.kubernetes.io/region=eu-west-2,failure-domain.beta.kubernetes.io/zone=eu-west-2a,icp4data=icp4data,kubernetes.io/arch=amd64,kubernetes.io/hostname=ip-10-0-63-107,kubernetes.io/os=linux,node-role.kubernetes.io/master=,node.kubernetes.io/instance-type=m4.xlarge,node.openshift.io/os_id=rhcos,topology.kubernetes.io/region=eu-west-2,topology.kubernetes.io/zone=eu-west-2a
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-09 21:14:59

豆荚没有调度,因为没有任何节点标签与荚的关联部分所寻找的内容匹配:

代码语言:javascript
运行
复制
nodeSelectorTerms: 
- matchExpressions: 
   - key: beta.kubernetes.io/arch 
     operator: In 
     values: 
     - unknown

这看起来像是在找一个标签beta.kubernetes.io/arch=unknown。假设pods是由部署、副本集甚至作业创建的,您需要oc edit该控制器资源并将nodeSelectorTerms值更改为amd64,并且它应该满足调度条件。

pod的oc describe应该告诉您控制器资源,Controlled By:的值。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62810901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档