1

我最初用 weave 安装了一个kubeadmv1.17 集群。我想把它改成使用印花布。但是,因为我最初没有安装集群

kubeadm init --pod-network-cidr=192.168.0.0/16

根据文档,但有一个简单的

kubeadm init

我想知道我需要执行哪些步骤才能实现从编织到印花布的过渡?

4

1 回答 1

1

要将集群中的 CNI 从 Weave Net 更改为 Calico,您可以执行以下操作:

删除 weave-net pods 配置:

kubectl delete -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"

然后通过在主节点上运行以下命令来更改 podCIDR:

sudo kubeadm init phase control-plane controller-manager --pod-network-cidr=192.168.0.0/16

192.168.0.0/16是 Calico 使用的默认 podCIDR,只能更改一次。

如果您之后尝试更改它,它将显示错误:

spec.podCIDRs:禁止:节点更新可能不会更改 podCIDR,除非从“”更改为有效

所以这是一种单向操作。

之后,您可以应用印花布:

kubectl apply -f https://docs.projectcalico.org/v3.11/manifests/calico.yaml

此外,如果您选择设置不同的 podCIDR,则必须在以下位置指定 podCIDR kubeadm init

sudo kubeadm init phase control-plane all --pod-network-cidr=<your_podCIDR>

然后修改 Calico DaemonSet:

...
- name: CALICO_IPV4POOL_CIDR
value: "<your_podCIDR>"
...

然后应用它。但是如前所述,一旦指定了 podCIDR,您就无法执行此操作。它可以添加,但以后不能修改。

于 2020-02-28T12:26:35.777 回答