Calico 部署不保存主节点的容差

Calico 部署不保存主节点的容差

我尝试使用 Amazon EC2 和 Kubeadm 设置 Kubernetes 集群。我创建了一个“t2.大'基于 Ubuntu 18.04 AMI 的 EC2 实例。设置 kubeadm、kubelet、kubectl 和 docker 作为容器运行时。

运行kubeadm init --pod-network-cidr=192.168.0.0/16命令并创建控制平面,例如“kube-api-server”、“scheduler”、“controller”等。

对于容器网络接口,我打算使用印花布我按照以下链接在我的 Kubernetes 集群中安装了 Calico:https://projectcalico.docs.tigera.io/getting-started/kubernetes/quickstart

我运行以下命令来安装 Calico:
kubeadm init --pod-network-cidr=192.168.0.0/16
kubectl create -f https://projectcalico.docs.tigera.io/manifests/tigera-operator.yaml
kubectl create -f https://projectcalico.docs.tigera.io/manifests/custom-resources.yaml

一旦运行这些命令,calico pod 就会被创建,但有些 pod 处于待处理状态:

在此处输入图片描述

在描述了该豆荚之后,它说它无法容忍这种污染node-role.kubernetes.io/control-plane

在链接的说明中,提到我们需要清除主节点上的污染以便调度 Pod。

作为替代方案,我尝试编辑部署 ** calico-kube-controllers **并添加以下容差以便在主节点中调度 pod:

- key: "node-role.kubernetes.io/control-plane"
  operator: "Exists"
  effect: "NoSchedule"

该解决方案暂时有效。pod 被调度到主节点一段时间。几分钟后,pod 被终止并再次回到待处理状态。

当我再次编辑部署时,我为容差添加的代码行不再存在。我找不到发生这种情况的明确原因。

在此处输入图片描述

有谁知道如何解决这个问题?

相关内容