以下是 Kubernetes 一些核心组件及其使用的端口:
kube-apiserver:6443/TCP(默认值)。kube-apiserver 提供了整个 Kubernetes 集群的 REST API 端点,所有对集群资源对象的操作都通过该端点进行。
etcd:2379/TCP 和 2380/TCP(默认值)。etcd 是一个分布式键值存储系统,Kubernetes 使用它来存储集群状态和配置信息。
kube-controller-manager:10252/TCP(默认值)。kube-controller-manager 运行多个控制器进程,用于管理集群中的各种资源。可以通过该端口连接到 kube-controller-manager 的健康检查端点。
kube-scheduler:10251/TCP(默认值)。kube-scheduler 负责将新创建的 Pod 调度到合适的节点上。可以通过该端口连接到 kube-scheduler 的健康检查端点。
kubelet:10250/TCP(默认值)。kubelet 运行在每个节点上,并负责监视和管理运行在该节点上的容器。可以通过该端口连接到 kubelet 的 API 端点进行操作。
kube-proxy:10256/TCP(默认值)。kube-proxy 实现了 Kubernetes Service 抽象层次,在 Pod 内部网络和主机之间提供了负载均衡功能。可以通过该端口连接到 kube-proxy 的 API 端点进行操作。
coredns:53/UDP 和 9153/TCP(默认值)。coredns 是 Kubernetes 的默认 DNS 服务插件,用于提供集群内部的域名解析服务。DNS 请求通过53/UDP 端口进行处理,而 Prometheus 监控指标则通过9153/TCP 端口公开。
ingress-controller:80/TCP 和 443/TCP(默认值)。ingress-controller 实现了 Kubernetes 中 Ingress 资源对象的功能,可以实现 HTTP/TCP/UDP 流量的路由和负载均衡。通常情况下,Ingress 流量会通过80/TCP 或443/TCP 端口进入 ingress-controller 进行处理。
除了上述核心组件之外,Kubernetes 还有其他一些附加组件,它们可能需要使用不同的端口。例如 Istio 可以使用15001-15006/TCP 和 15443/TCP 等端口。