升级到 v1.24.0 后(删除 Dockershim 后),我必须安装cri-dockerd,然后我执行了以下操作:
\nsudo kubeadm init --pod-network-cidr=10.244.0.0/16 --cri-socket=unix:///var/run/cri-dockerd.sock --apiserver-advertise-address=192.168.0.196\nRun Code Online (Sandbox Code Playgroud)\n我选择flannel作为网络插件:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml\nRun Code Online (Sandbox Code Playgroud)\n到目前为止,一切都按预期进行,但在主节点上启用调度、加入工作节点并部署我的 Pod 和服务后,我注意到一个奇怪的网络问题,即NodePort和ClusterIP服务在节点之间无法工作(使用一个节点时没有问题) 。
\n后来我发现 pod 是从docker 网络( 172.17.0.*) 获取 IP 地址,而不是从--pod-network-cidr=10.244.0.0/16:
masterzulu@master-zulu:~$ kubectl get pods --all-namespaces -o wide\nNAMESPACE NAME READY STATUS RESTARTS AGE IP NODE \n\ndjango-space django-588cb669d4-46b4w 1/1 Running 0 3m35s 172.17.0.4 master-zulu\ndjango-space postgres-deployment-b58d5ff94-hs7t4 1/1 Running 0 3m35s 172.17.0.5 master-zulu\nkube-system coredns-6d4b75cb6d-8gw6c 1/1 Running 0 …Run Code Online (Sandbox Code Playgroud)