端口和协议

当在具有严格网络边界的环境中运行 Kubernetes 时,例如在具有物理网络防火墙的本地数据中心或公有云中的虚拟网络中,了解 Kubernetes 组件使用的端口和协议非常有用。

控制平面

协议方向端口范围用途使用者
TCP入站6443Kubernetes API 服务器所有
TCP入站2379-2380etcd 服务器客户端 APIkube-apiserver,etcd
TCP入站10250Kubelet API自身,控制平面
TCP入站10259kube-scheduler自身
TCP入站10257kube-controller-manager自身

尽管 etcd 端口包含在控制平面部分中,你也可以在外部或自定义端口上托管你自己的 etcd 集群。

工作节点

协议方向端口范围用途使用者
TCP入站10250Kubelet API自身,控制平面
TCP入站10256kube-proxy自身,负载均衡器
TCP入站30000-32767NodePort 服务†所有

NodePort 服务的默认端口范围。

所有默认端口号都可以被覆盖。当使用自定义端口时,需要打开这些端口,而不是此处提到的默认端口。

一个常见的例子是 API 服务器端口,有时会切换到 443。或者,保持默认端口不变,API 服务器放在监听 443 的负载均衡器后面,并将请求路由到默认端口上的 API 服务器。

上次修改时间:2024 年 3 月 25 日,太平洋标准时间上午 11:47: Add kube-proxy healthz port to ports-and-protocols.md (d917d5020c)