云原生 k8s 可能使用到的端口整理【不定期更新】

k8s 因为涉及到的组件太多了,所以端口有很多,这里整理了日常所接触的接口,后续有新的再更新。

  • 如果是通过公网 IP 进行安装的时候需要根据实际情况有选择的进行放开;一般只有云厂商会提供公网 IP 访问,自建的话不建议 k8s 集群通过公网 IP 进行通信,除非做了网络安全配置和管理;大多数情况下,k8s 是通过内网 IP 进行通信的。
  • 如果是使用的内网环境进行部署,可以设置防火墙允许内网网段访问,不做限制;比如, 在 firewalld 中,规则是应用到区域(zone)的,可以将想要完全放开的网段添加到一个区域中。

【注】初次安装 k8s 所需端口,仅仅是针对于刚开始安装 k8s,主要是先让集群跑起来,并没有太多要求;如果需要其他组件时,则根据需要有选择的暴露端口;比如安装 CalicoCNI 网络插件) 则需要 17947899099 端口。

类型端口描述使用者初次安装 k8s 所需端口
TCP22SSH 连接端口
TCP/UDP53集群 DNS 服务需要
TCP179CNI网络插件 calico
TCP2375主机驱动与 Docker 守护进程通信的 TLS 端口,容器运行时可以选择使用不同的端口,默认情况下 Docker 使用 2375 和 2376。
TCP2376主机驱动与 Docker 守护进程通信的 TLS 端口,容器运行时可以选择使用不同的端口,默认情况下 Docker 使用 2375 和 2376。
TCP2379etcd 客户端请求(供客户端访问)。控制面:kube-apiserver, etcd需要
TCP2380etcd 节点通信,用于 etcd 集群中的成员之间进行通信。控制面:kube-apiserver, etcd需要
UDP8472Canal/Flannel VXLAN overlay 网络
UDP4789Flannel VXLAN overlay 网络、Calico 使用 VXLAN 封装来进行 Overlay 网络通信,该端口用于汇聚 VXLAN 流量。
TCP9099Canal/Flannel 健康检查、Calico 控制面板端口
TCP9796集群监控拉取节点指标的默认端口(仅需要内网可达)
TCP6783Weave 端口
UDP6783,6784Weave UDP 端口
TCP/UDP30000-32767NodePort 端口范围,NodePort 是 Kubernetes Service 类型之一,它将某个 Service 暴露在 Node 的固定端口上。所有需要
TCP6443k8s kube-apiserver, 用于与 API Server 进行通信所有需要
TCP9443Rancher Webhooks
TCP80Rancher 节点
TCP443Rancher 节点
TCP10250kubelet API;用于与 Kubelet 进行通信。控制面:自身、工作节点:自身需要
TCP10251kube-schedule,用于与 Scheduler 进行通信。控制面:自身需要
TCP10252kube-control,用于与 Controller Manager 进行通信需要
TCP10254Ingress Controller 健康检查
TCP10255kubelet API(只读)需要
TCP10256kube-proxy
TCP10257kube-controller-manager控制面:自身
TCP10259kube-schedule,用于与 Scheduler 进行通信。控制面:自身
TCP8080k8s kube-apiserver,HTTP 非安全端口,一般都是用 6443

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注