在教程 https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/ 中,它说
如何传递其他 cidr,例如 --pod-network-cidr=192.168.0.0/16
?
最佳答案
按照教程中的相同步骤操作,除了:
(1) 在 kubeadm reset
之后,清除主从节点上较早的网络接口(interface)。
sudo ip link del cni0
sudo ip link del flannel.1
sudo systemctl restart network
(2) 运行
kubeadm init --pod-network-cidr=192.168.0.0/16
(3) 下载
kube-flannel.yml
文件,将硬编码的 10.244.0.0
改为 192.168.0.0
,然后执行 kubectl create -f kube-flannel.yml
。测试结果
$ k get po -o=wide
NAME READY STATUS RESTARTS AGE IP NODE
h2-75cb7756c6-r4gkj 1/1 Running 0 5m 192.168.1.14 slave1
h2-75cb7756c6-xfstk 1/1 Running 0 16m 192.168.0.5 master
jobserver-58bf6985f9-77mdd 1/1 Running 0 16m 192.168.0.6 master
jobserver-58bf6985f9-h9hlx 1/1 Running 0 5m 192.168.1.15 slave1
# ping pod on slave
$ ping 192.168.1.14
PING 192.168.1.14 (192.168.1.14) 56(84) bytes of data.
64 bytes from 192.168.1.14: icmp_seq=1 ttl=63 time=0.454 ms
# ping pod on master
$ ping 192.168.0.5
PING 192.168.0.5 (192.168.0.5) 56(84) bytes of data.
64 bytes from 192.168.0.5: icmp_seq=1 ttl=64 time=0.143 ms
# ping docker container on the same node
$ ping 172.18.0.2
PING 172.18.0.2 (172.18.0.2): 56 data bytes
64 bytes from 172.18.0.2: seq=0 ttl=241 time=21.580 ms
关于kubernetes - 使用 192.168.0.0/16 或其他 iprange 作为 kubernetes + flannel 的 pod cidr,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52963102/