0
我有一个名为staging
的kubernetes服务,它可以选择所有app=jupiter
吊舱。它暴露在端口1337的HTTP服务这里的描述输出:为什么每次更新Pod时,我的kubernetes服务端点IP都会更改?
$ kubectl describe service staging
Name: staging
Namespace: default
Labels: run=staging
Selector: app=jupiter
Type: NodePort
IP: 10.11.255.80
Port: <unnamed> 1337/TCP
NodePort: <unnamed> 30421/TCP
Endpoints: 10.8.0.21:1337
Session Affinity: None
No events.
但是,当我在RC,这消除了1个荚运行的应用程序,并增加了一个运行kubectl rolling-update
,并再次运行形容,我得到:
$ kubectl describe service staging
Name: staging
Namespace: default
Labels: run=staging
Selector: app=jupiter
Type: NodePort
IP: 10.11.255.80
Port: <unnamed> 1337/TCP
NodePort: <unnamed> 30421/TCP
Endpoints: 10.8.0.22:1337
Session Affinity: None
No events.
除了端点IP地址外,一切都是一样的。事实上,每当我这样做时它就会增加1。这是我期望不会改变的一件事,因为服务是一个对pod的抽象,所以当pod改变时它们不应该改变。
我知道你可以硬编码端点地址,所以这更多的是好奇心。
另外,任何人都可以告诉我描述输出中的IP
字段是用于什么?
这非常合理,但我似乎无法通过IP访问服务,无论是在端口1337还是端口80.(端点IP /端口工作。)也许这与它是一个NodePort服务有关,但从文档看来,它似乎不是。 – tmandry
在此发布此问题:http://stackoverflow.com/questions/32618437/why-cant-i-access-my-kubernetes-service-via-its-ip – tmandry