将kubernetes CNI从编织改为印花布

将kubernetes CNI从编织改为印花布,kubernetes,weave,project-calico,Kubernetes,Weave,Project Calico,我安装了一个带有weave的kubeadmv1.17集群。我想换成印花布。但是,由于我最初没有安装带有 kubeadm init --pod-network-cidr=192.168.0.0/16 根据文件,但有一个简单的 kubeadm init 我想知道我需要执行哪些步骤来实现从编织到印花布的过渡 要在群集中将CNI从编织网更改为印花布,可以执行以下操作: 删除编织网吊舱配置: kubectl delete -f "https://cloud.weave.works/k8s/net?k8

我安装了一个带有weave的
kubeadm
v1.17集群。我想换成印花布。但是,由于我最初没有安装带有

kubeadm init --pod-network-cidr=192.168.0.0/16
根据文件,但有一个简单的

kubeadm init

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

要在群集中将CNI从编织网更改为印花布,可以执行以下操作:

删除编织网吊舱配置:

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,只能更改一次。

如果以后尝试更改,则会显示错误:

规范podCIDR:禁止:节点更新不能更改podCIDR,除非 从“”到有效

所以这是单向操作

之后,您可以申请印花布:

kubectl apply -f https://docs.projectcalico.org/v3.11/manifests/calico.yaml
此外,如果选择设置不同的podCIDR,则必须在
kubeadm init
中指定podCIDR:

sudo kubeadm init phase control-plane all --pod-network-cidr=<your_podCIDR>
sudo kubeadm初始相位控制平面all——pod网络cidr=
然后修改Calico守护程序:

...
- name: CALICO_IPV4POOL_CIDR
value: "<your_podCIDR>"
...
。。。
-名称:印花布IPV4池CIDR
值:“”
...
然后应用它。但正如前面提到的,一旦指定了podCIDR,就无法执行此操作。可以添加,但以后不能修改