端口要求¶
为了正常运行,需要打开一些端口。如果网络配置了防火墙规则,则需要确保基础设施组件可以通过特定端口相互通信。 确保所需的以下端口在网络上处于打开状态,并配置为允许主机之间的访问。某些端口是根据配置和用途可选的。
火种节点¶
| 协议 | 端口 | 描述 | 
|---|---|---|
| TCP | 443 | Docker Registry | 
| TCP | 8081 | Chart Museum | 
| TCP | 9000 | Minio API | 
| TCP | 9001 | Minio UI | 
Kube集群(包括全局集群和工作集群)¶
全局集群和工作集群都是通过 Kubean 部署的,因此他们需要打开同样的端口。 除了标准的 K8s 端口,对于 CNI 和部分网络组件,也需要打开端口。
K8s 控制平面¶
| 协议 | 端口 | 描述 | 
|---|---|---|
| TCP | 2379 | etcd client port | 
| TCP | 2380 | etcd peer port | 
| TCP | 2381 | etcd metric port | 
| TCP | 6443 | kubernetes api | 
| TCP | 10250 | kubelet api | 
| TCP | 10257 | kube-scheduler | 
| TCP | 10259 | kube-controller-manager | 
全部 K8s 节点¶
集群中的每一个节点都需要打开。
| 协议 | 端口 | 描述 | 
|---|---|---|
| TCP | 22 | ssh for ansible | 
| TCP | 9100 | node exporter (Insight-Agent) | 
| TCP | 10250 | kubelet api | 
| TCP | 30000-32767 | kube nodePort range | 
Calico(默认)¶
默认使用 Calico 作为 CNI, 全部 K8s 节点 都需要打开。
| 协议 | 端口 | 描述 | 
|---|---|---|
| TCP | 179 | Calico networking (BGP) | 
| UDP | 4789 | Calico CNI with VXLAN enabled | 
| TCP | 5473 | Calico CNI with Typha enabled | 
| UDP | 51820 | Calico with IPv4 Wireguard enabled | 
| UDP | 51821 | Calico with IPv6 Wireguard enabled | 
| IPENCAP / IPIP | - | Calico CNI with IPIP enabled | 
参考 Calico 网络要求文档。
MetalLB(默认)¶
当启用 MetalLB 建 VIP 时, 全部 K8s 节点 都需要打开。
| 协议 | 端口 | 描述 | 
|---|---|---|
| TCP/UDP | 7472 | metallb metrics ports | 
| TCP/UDP | 7946 | metallb L2 operating mode | 
Cilium(可选)¶
如果使用 Cilium 作为 CNI, 全部 K8s 节点 都需要打开。
| 协议 | 端口 | 描述 | 
|---|---|---|
| TCP | 4240 | Cilium Health checks (cilium-health) |  
| TCP | 4244 | Hubble server | 
| TCP | 4245 | Hubble Relay | 
| UDP | 8472 | VXLAN overlay | 
| TCP | 9962 | Cilium-agent Prometheus metrics | 
| TCP | 9963 | Cilium-operator Prometheus metrics | 
| TCP | 9964 | Cilium-proxy Prometheus metrics | 
| UDP | 51871 | WireGuard encryption tunnel endpoint | 
| ICMP | - | health checks | 
参考 Cilium 系统要求文档。
SpiderPool(可选)¶
如果使用 SpiderPool 作为 CNI, 全部 K8s 节点 都需要打开。
| 协议 | 端口 | 描述 | 
|---|---|---|
| TCP | 5710 | SpiderPool Agent HTTP Server | 
| TCP | 5711 | SpiderPool Agent Metrics | 
| TCP | 5712 | SpiderPool Agent gops enabled | 
| TCP | 5720 | SpiderPool Controller HTTP Server | 
| TCP | 5721 | SpiderPool Controller Metrics | 
| TCP | 5722 | SpiderPool Controller Webhook Port | 
| TCP | 5723 | Spiderpool-CLI HTTP server port. | 
| TCP | 5724 | SpiderPool Controller gops enabled | 
参考文档:spiderpool-controller 及 spiderpool-agent。
KubeVIP(可选)¶
当启用 KubeVIP 建 Kube API VIP 时, 全部 Control Plane 节点 都需要打开。
| 协议 | 端口 | 描述 | 
|---|---|---|
| TCP | 2112 | kube-vip metrics ports | 
全局管理集群其他需要开放的端口¶
Istio-Gateway VIP¶
| 协议 | 端口 | 描述 | 使用方 | 
|---|---|---|---|
| TCP | 80 | Istio-Gateway HTTP | Web Browser or API Client | 
| TCP | 443 | Istio-Gateway HTTPS | Web Browser or API Client | 
Insight VIP¶
| 协议 | 端口 | 描述 | 使用方 | 
|---|---|---|---|
| TCP | 8480 | Insight VIP for Metrics | 所有节点 | 
| TCP | 9200 | Insight VIP for Log | 所有节点 | 
| TCP | 4317 | Insight VIP for Trace | 所有节点 | 
| TCP | 8006 | Insight VIP for AduitLog | 所有节点 | 
工作集群其他需要开放的端口¶
工作集群需要开放 K8s API 的 6443 端口,给到全局管理集群访问。如果要是用部署功能,还要开放 22 端口,给全局集群访问。
| 协议 | 端口 | 描述 | 使用方 | 
|---|---|---|---|
| TCP | 22 | 各节点 SSH (for ansible) | 全局管理集群 | 
| TCP | 6443 | K8s API 访问入口(如VIP) | 全局管理集群 | 
其他各产品需要开放的端口¶
镜像仓库¶
| 协议 | 端口 | 描述 | 使用方 | 
|---|---|---|---|
| TCP | 443 | 访问入口(如VIP) 的端口 | 所有节点 |