我是法兰绒和K8的新手。我在我的1个主节点和2个节点群集(从KVM创建)上玩耍。
我使用法兰绒网络插件初始化了群集。然后我发现我无法到达内部。原来,我的网络或DNS进程可能出了点问题。
在https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/之后,我将8285和8472添加到Firewalld
[root@k8smaster ~]# firewall-cmd --list-port
6443/tcp 80/tcp 8285/udp 8472/udp 8472/tcp 8285/tcp
我得到了
[root@k8smaster ~]# kubectl exec -ti dnsutils -- nslookup kubernetes.default
;; connection timed out; no servers could be reached
command terminated with exit code 1
但是,如果我停止firewalld,一切都很好。
[root@k8smaster ~]# kubectl exec -ti dnsutils -- nslookup kubernetes.default
Server: 10.96.0.10
Address: 10.96.0.10#53
Name: kubernetes.default.svc.cluster.local
Address: 10.96.0.1
所以我的问题是,我应该在firewalld中添加任何端口吗?让我知道是否有任何信息。我应该在这里添加。谢谢。
您所应用的规则仅适用于Flannel通信,您需要允许所有Kubernetes端口使其正常工作。
在简历中,您需要为以下端口应用规则:
Control-plane node(s)
Protocol Direction Port Range Purpose Used By
TCP Inbound 6443* Kubernetes API server All
TCP Inbound 2379-2380 etcd server client API kube-apiserver, etcd
TCP Inbound 10250 Kubelet API Self, Control plane
TCP Inbound 10251 kube-scheduler Self
TCP Inbound 10252 kube-controller-manager Self
Worker node(s)
Protocol Direction Port Range Purpose Used By
TCP Inbound 10250 Kubelet API Self, Control plane
TCP Inbound 30000-32767 NodePort Services† All
† Default port range for NodePort Services.
~
在这里,您可以看到控制平面和辅助节点的所有必需端口。
然后将此规则后应用,你需要申请更多的其他2个规则,允许网络绒布提到这里。
确保您的防火墙规则允许参与覆盖网络的所有主机的UDP端口8285和8472通信。Flannel故障排除指南的“防火墙”部分将对此进行更详细的说明。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句