K8S集群需要开放的端口说明

在离线环境中部署 Kubernetes (K8S) 集群时,需要确保各节点(Master 和 Worker)的防火墙(如 firewalld)开放必要的端口,以确保组件间的正常通信。以下是需要开放的端口分类说明:


一、Master 节点需开放的端口

端口范围协议用途
6443TCPKubernetes API Server(所有节点和外部访问的核心端口)
2379-2380TCPetcd 客户端和服务端通信(若使用外部 etcd 需额外配置)
10250TCPKubelet API(Master 与 Worker 间的指标、日志、执行命令通信)
10259TCPkube-scheduler 的 metrics 和健康检查(≥1.23 版本)
10257TCPkube-controller-manager 的 metrics 和健康检查(≥1.23 版本)
8472UDPFlannel CNI 的 VXLAN overlay 网络(根据 CNI 插件调整,如 Calico 不同)
30000-32767TCPNodePort 服务的外部访问端口范围(可自定义)

二、Worker 节点需开放的端口

端口范围协议用途
10250TCPKubelet API(Master 访问 Worker 的指标、日志等)
30000-32767TCPNodePort 服务的外部访问端口
8472UDPFlannel CNI 的 VXLAN 通信(其他 CNI 如 Calico 可能用 IPIP 或 TCP)
9796TCP部分监控工具(如 Prometheus)的指标采集端口(非必需)

三、所有节点需开放的端口

端口协议用途
22TCPSSH 管理访问(建议限制来源 IP)
6783-6784TCPWeave CNI 的通信端口(若使用 Weave)
53TCP/UDPCoreDNS 或 kube-dns 的 DNS 解析

四、防火墙配置示例(firewalld)

1. Master 节点命令
sudo firewall-cmd --permanent --add-port=6443/tcp
sudo firewall-cmd --permanent --add-port=2379-2380/tcp
sudo firewall-cmd --permanent --add-port=10250/tcp
sudo firewall-cmd --permanent --add-port=10257/tcp
sudo firewall-cmd --permanent --add-port=10259/tcp
sudo firewall-cmd --permanent --add-port=8472/udp
sudo firewall-cmd --permanent --add-port=30000-32767/tcp
sudo firewall-cmd --reload
2. Worker 节点命令
sudo firewall-cmd --permanent --add-port=10250/tcp
sudo firewall-cmd --permanent --add-port=30000-32767/tcp
sudo firewall-cmd --permanent --add-port=8472/udp
sudo firewall-cmd --reload

五、关键注意事项

  1. CNI 插件差异

    • Flannel:需开放 UDP 8472(VXLAN)。
    • Calico:需开放 TCP 179(BGP)、IPIP 协议(默认为 协议号 4)。
    • Weave:需开放 TCP 6783-6784 和 UDP 6783-6784。
  2. 离线环境特殊要求

    • 确保所有节点的防火墙规则在部署前已配置,避免因网络不通导致安装失败。
    • 如果使用私有镜像仓库,需开放其端口(如 HTTP 8080 或 HTTPS 443)。
  3. 安全建议

    • 使用 --zone=trusted 将 Pod 和 Service 网段加入信任区域(替换为实际 CIDR):
      sudo firewall-cmd --permanent --zone=trusted --add-source=10.244.0.0/16  # Flannel 默认网段
      sudo firewall-cmd --permanent --zone=trusted --add-source=10.96.0.0/12   # Service 网段
      
  4. 验证端口

    sudo firewall-cmd --list-all  # 查看已开放端口
    

通过以上配置,可确保离线 K8S 集群各组件间的通信正常。根据实际使用的 CNI 插件和 Kubernetes 版本调整端口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学亮编程手记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值