为什么 kubernetes 有 2/4 的内部端点?

why kubernetes has 2/4 internal endpoints?

为什么有时 kubernetes 有 2 个服务内部端点,有时有 4 个? 为什么内部端点总是成对出现?

这是基于我对事物的粗略理解和假设。假设是当集群部署到GKE时似乎就是这种情况。

由于我没有安装Kafka manager,我就以Kubernetes服务为例,在console中也有类似的端口配置。此服务的类型为 ClusterIP

Name         Cluster IP     Internal Endpoints
Kubernetes   10.11.240.1    kubernetes:443 TCP
                            kubernetes:0 TCP

端口0是GKE Ingress随机添加的select一个端口用于转发,如 and also related

对于 NodePort 服务,情况就不同了。

Name         Cluster IP     Internal Endpoints
hello-web    10.11.249.126  helloweb:8080 TCP
                            helloweb:30193 TCP

这在服务描述中也可以看到。由于服务已经暴露在节点端口上,因此无需额外暴露在随机端口上。

$kubectl describe service helloweb-backend -n default
Name:           helloweb-backend
Type:           NodePort
IP:             10.11.249.126
Port:           <unset> 8080/TCP
NodePort:       <unset> 30193/TCP
Endpoints:      10.8.3.3:8080