【发布时间】:2021-02-03 15:19:49
【问题描述】:
我有一个服务定义为 ClusterIP 服务类型,但我惊讶地发现它有端点,因此可以从集群外部访问。
根据定义,clusterIP 服务类型应该只能从 Kubernetes 集群内部访问,但是拥有一个端点使得服务可以从任何地方(在某个 VNET 内)pinge,并且可以从集群外部访问。
有人知道为什么会这样吗?
Name: active-mq-service
Namespace: qa-env
Labels: name=active-mq-service
Annotations: Selector: app=active-mq
Type: ClusterIP
IP: 10.0.140.160
Port: dashboard 8161/TCP
TargetPort: 8161/TCP
Endpoints: 10.3.1.20:8161
Port: openwire 61616/TCP
TargetPort: 61616/TCP
Endpoints: 10.3.1.20:61616
Port: amqp 5672/TCP
TargetPort: 5672/TCP
Endpoints: 10.3.1.20:5672
Port: stomp 61613/TCP
TargetPort: 61613/TCP
Endpoints: 10.3.1.20:61613
Port: mqtt 1883/TCP
TargetPort: 1883/TCP
Endpoints: 10.3.1.20:1883
Session Affinity: None
Events: <none>
谢谢
【问题讨论】:
-
它实际上是否可达?如果您
kubectl get pods -l app=active-mq -o wide查找与选择器匹配的 pod,是否只有一个 pod 具有该集群内部 IP 地址? -
IP:10.3.1.20 不是集群内部的,而是一个有效的私有 IP,可在整个 VNet 中访问
标签: kubernetes