在带有污染标签的主节点上部署头盔

时间:2020-07-16 10:39:47

标签: kubernetes devops release kubernetes-helm

嗨,我正在尝试在主节点上初始化头盔舵柄。

主节点是:

Name:               ip-10-3-196-251.ec2.internal
Roles:              master
Labels:             beta.kubernetes.io/arch=amd64
                    beta.kubernetes.io/instance-type=m4.xlarge
                    beta.kubernetes.io/os=linux
                    failure-domain.beta.kubernetes.io/region=us-east-1
                    failure-domain.beta.kubernetes.io/zone=us-east-1a
                    kubernetes.io/role=master
Annotations:        node.alpha.kubernetes.io/ttl=0
                    scheduler.alpha.kubernetes.io/taints=[{"key":"dedicated","value":"master","effect":"NoSchedule"}]
                    volumes.kubernetes.io/controller-managed-attach-detach=true
CreationTimestamp:  Mon, 01 Jun 2020 12:50:53 +0200
Taints:             node-role.kubernetes.io/master=true:NoSchedule
Unschedulable:      false

...
...
...

我正在运行此

helm init \
    --history-max=1000 \
    --service-account tiller \
    --node-selectors "kubernetes.io/role=master" \
    --override spec.template.spec.tolerations[0].key=node-role.kubernetes.io/master \
    --override spec.template.spec.tolerations[0].effect=NoSchedule \
    --skip-refresh \
    --upgrade

但是当我描述吊舱时,我却静止了

Events:
  Type     Reason             Age                From                Message
  ----     ------             ----               ----                -------
  Normal   NotTriggerScaleUp  1m (x86 over 16m)  cluster-autoscaler  pod didn't trigger scale-up (it wouldn't fit if a new node is added): 9 node(s) didn't match node selector
  Warning  FailedScheduling   1m (x57 over 17m)  default-scheduler   0/11 nodes are available: 1 Insufficient cpu, 3 PodToleratesNodeTaints, 8 MatchNodeSelector.e

你知道怎么了吗?

1 个答案:

答案 0 :(得分:2)

主节点有污点node-role.kubernetes.io/master=true:NoSchedule,但是您在命令中指定了node-role.kubernetes.io/master:NoSchedule

使用以下命令

helm init \
    --history-max=1000 \
    --service-account tiller \
    --node-selectors "kubernetes.io/role=master" \
    --override spec.template.spec.tolerations[0].key=node-role.kubernetes.io/master \
    --override spec.template.spec.tolerations[0].operator=Equal \
    --override spec.template.spec.tolerations[0].value=true \
    --override spec.template.spec.tolerations[0].effect=NoSchedule \
    --skip-refresh \
    --upgrade