【发布时间】:2020-02-28 00:59:06
【问题描述】:
我最初使用 weave 安装了 kubeadm v1.17 集群。我想把它换成使用印花布。但是,由于我最初没有使用
kubeadm init --pod-network-cidr=192.168.0.0/16
按照文档,但是很简单
kubeadm init
我想知道我需要执行哪些步骤才能实现从编织到印花布的过渡?
【问题讨论】:
标签: kubernetes weave project-calico
我最初使用 weave 安装了 kubeadm v1.17 集群。我想把它换成使用印花布。但是,由于我最初没有使用
kubeadm init --pod-network-cidr=192.168.0.0/16
按照文档,但是很简单
kubeadm init
我想知道我需要执行哪些步骤才能实现从编织到印花布的过渡?
【问题讨论】:
标签: kubernetes weave project-calico
要将集群中的 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: Forbidden: 节点更新可能不会改变 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>
然后修改 Calico DaemonSet:
...
- name: CALICO_IPV4POOL_CIDR
value: "<your_podCIDR>"
...
然后应用它。但是如前所述,一旦指定了 podCIDR,您就无法执行此操作。可以添加,以后不能修改。
【讨论】: