|
本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。 |
使用 firewalld 打开端口
|
启用 firewalld 可能会导致严重的网络通信问题。 为了确保网络正常运行,必须在运行 RKE2 的系统上禁用 firewalld。 Firewalld 与 Canal,RKE2 的默认网络栈,存在冲突。 在运行 Kubernetes 1.19 及更高版本的系统上,firewalld 也必须被禁用。 如果在运行 Kubernetes 1.18 或更早版本的系统上启用 firewalld,请理解这可能会导致网络问题。Kubernetes 中的 CNI 会动态更新 iptables 和网络规则,而不依赖于任何外部防火墙,例如 firewalld。当 CNI 和外部防火墙发生冲突时,这可能会导致意外行为。 |
某些基于 RHEL 的 Linux 发行版 包括 Oracle Linux, 可能具有默认的防火墙规则,阻止与 Helm 的通信。
例如,AWS 中的一个 Oracle Linux 镜像具有 REJECT 规则,阻止 Helm 与 Tiller 的通信:
Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT icmp -- anywhere anywhere ACCEPT all -- anywhere anywhere ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh REJECT all -- anywhere anywhere reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT) target prot opt source destination REJECT all -- anywhere anywhere reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT) target prot opt source destination
您可以使用以下命令检查默认的防火墙规则:
sudo iptables --list
本节描述如何使用 firewalld 来应用高可用性 Rancher 服务器集群中节点的 防火墙端口规则。
先决条件
安装 v7.x 或更高版本的 firewalld:
yum install firewalld systemctl start firewalld systemctl enable firewalld
应用防火墙端口规则
在 Rancher 高可用性安装说明中,Rancher 服务器在三个具有所有三个 Kubernetes 角色的节点上设置:etcd、controlplane 和 worker。如果您的 Rancher 服务器节点具有所有三个角色,请在每个节点上运行以下命令:
firewall-cmd --permanent --add-port=22/tcp firewall-cmd --permanent --add-port=80/tcp firewall-cmd --permanent --add-port=443/tcp firewall-cmd --permanent --add-port=2376/tcp firewall-cmd --permanent --add-port=2379/tcp firewall-cmd --permanent --add-port=2380/tcp firewall-cmd --permanent --add-port=6443/tcp firewall-cmd --permanent --add-port=8472/udp firewall-cmd --permanent --add-port=9099/tcp firewall-cmd --permanent --add-port=10250/tcp firewall-cmd --permanent --add-port=10254/tcp firewall-cmd --permanent --add-port=30000-32767/tcp firewall-cmd --permanent --add-port=30000-32767/udp
如果您的 Rancher 服务器节点具有不同的角色,请根据节点的角色使用以下命令:
# For etcd nodes, run the following commands: firewall-cmd --permanent --add-port=2376/tcp firewall-cmd --permanent --add-port=2379/tcp firewall-cmd --permanent --add-port=2380/tcp firewall-cmd --permanent --add-port=8472/udp firewall-cmd --permanent --add-port=9099/tcp firewall-cmd --permanent --add-port=10250/tcp # For control plane nodes, run the following commands: firewall-cmd --permanent --add-port=80/tcp firewall-cmd --permanent --add-port=443/tcp firewall-cmd --permanent --add-port=2376/tcp firewall-cmd --permanent --add-port=6443/tcp firewall-cmd --permanent --add-port=8472/udp firewall-cmd --permanent --add-port=9099/tcp firewall-cmd --permanent --add-port=10250/tcp firewall-cmd --permanent --add-port=10254/tcp firewall-cmd --permanent --add-port=30000-32767/tcp firewall-cmd --permanent --add-port=30000-32767/udp # For worker nodes, run the following commands: firewall-cmd --permanent --add-port=22/tcp firewall-cmd --permanent --add-port=80/tcp firewall-cmd --permanent --add-port=443/tcp firewall-cmd --permanent --add-port=2376/tcp firewall-cmd --permanent --add-port=8472/udp firewall-cmd --permanent --add-port=9099/tcp firewall-cmd --permanent --add-port=10250/tcp firewall-cmd --permanent --add-port=10254/tcp firewall-cmd --permanent --add-port=30000-32767/tcp firewall-cmd --permanent --add-port=30000-32767/udp
在节点上运行 firewall-cmd 命令后,使用以下命令启用防火墙规则:
firewall-cmd --reload
*结果:*防火墙已更新,以便 Helm 可以与 Rancher 服务器节点进行通信。