gpt4 book ai didi

kubernetes - 如何在不禁用 firewalld (Kubernetes) 的情况下使用 Flannel

转载 作者:行者123 更新时间:2023-12-02 11:35:08 26 4
gpt4 key购买 nike

我是法兰绒和 K8s 的新手。我在我的 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.
~

Here 您可以看到控制平面和工作节点的所有必要端口。

然后在应用此规则后,您需要应用更多其他 2 条规则以允许提到的法兰绒网络 here

Make sure that your firewall rules allow UDP ports 8285 and 8472 traffic for all hosts participating in the overlay network. The Firewall section of Flannel’s troubleshooting guide explains about this in more detail.

关于kubernetes - 如何在不禁用 firewalld (Kubernetes) 的情况下使用 Flannel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60708270/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com