运行 kubectl get services 时端口列表中的冒号是什么意思

问题描述 投票:0回答:5

如果我运行

kubectl get services
以获得简单的演示服务,我会得到以下响应:

NAME           TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
demo-service   LoadBalancer   10.104.48.115   <pending>     80:32264/TCP   18m

端口列表中的 : 是什么意思?

kubernetes kubectl
5个回答
8
投票

对演示服务的外部访问将通过端口 32264 进行,该端口连接到 docker 容器上的端口 80。


5
投票

意思是

80:32264/TCP
这是,

您有演示服务,它将 80 端口指向您的 pod,32264/TCP 意味着您可以使用 NodeIP 从外部网络(集群外部)访问在 pod 中运行的应用程序。并且

:
会将这些端口分开,以便您了解哪些是用于访问 pod 的外部端口和内部端口。


5
投票

这意味着您的服务

demo-service
可以从其他容器通过端口 80 访问,也可以从“外部”世界通过 NodePort 32264 访问。

在这种特殊情况下,它将由负载均衡器访问,负载均衡器由某种 Kubernetes 控制器配置/管理。


0
投票

虽然这已经很旧了,但我想写一个不同的答案。

对于Loadbalancer类型的服务,:之前的端口是你的服务暴露的端口,通常由admin在服务yaml文件中指定。 ‘:’后面的端口是节点上的随机NodePort,通常由系统分配。


0
投票

这意味着服务

demo-service
可以在每个工作节点外部 IP 上的端口
32425
上访问(如
kubectl get nodes
所列)。该端口称为
NodePort
 中的 
kubectl describe service demo-service

在集群内部,可以通过端口

80
访问相同的服务。该端口简称为
Port
 中的 
kubectl describe service demo-service

请注意,与 Blokje5 的答案相反,通常这两个端口与服务该服务的 Pod/容器正在侦听的端口不同(

TargetPort
中的
kubectl describe service demo-service

© www.soinside.com 2019 - 2024. All rights reserved.