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

Kubernetes 在带有污点标签的主节点上部署头盔,kubernetes,devops,release,kubernetes-helm,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.i

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

主节点是:

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

你知道怎么回事吗?

主节点有污点
节点角色。kubernetes.io/Master=true:NoSchedule
但你在命令中给出了
节点角色。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

主节点具有污染
节点角色。kubernetes.io/Master=true:NoSchedule
,但您在命令中指定了
节点角色。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

如果这是一个新的设置和一个新的集群,是否有任何理由不使用Helm 3(没有Tiller)?是的,我们在Golang实现了自己的软件,它使用v2的Helm库。我们将迁移到v3,但这并不容易。如果这是一个新的设置和一个新的集群,是否有任何理由不使用Helm 3(它没有Tiller)?是的,我们在Golang实现了我们自己的软件,它使用v2的Helm库。我们将迁移到v3,但这并不容易。我应该只使用
节点角色.kubernetes.io/master
?当我add=true时,它会向我返回一个带有意外值的错误。我明天会检查它,因为人们今天正在向集群发布图表。@DanielHornik你有时间检查吗?我应该只使用
节点角色.kubernetes.io/master
?当我add=true时,它会向我返回一个带有意外值的错误。我明天会检查它,因为今天人们正在向集群发布图表。@DanielHornik你有时间检查吗?