我最初用 weave 安装了一个kubeadm
v1.17 集群。我想把它改成使用印花布。但是,因为我最初没有安装集群
kubeadm init --pod-network-cidr=192.168.0.0/16
根据文档,但有一个简单的
kubeadm init
我想知道我需要执行哪些步骤才能实现从编织到印花布的过渡?
我最初用 weave 安装了一个kubeadm
v1.17 集群。我想把它改成使用印花布。但是,因为我最初没有安装集群
kubeadm init --pod-network-cidr=192.168.0.0/16
根据文档,但有一个简单的
kubeadm init
我想知道我需要执行哪些步骤才能实现从编织到印花布的过渡?
要将集群中的 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,您就无法执行此操作。它可以添加,但以后不能修改。