我有一个名为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: 1337/TCP
NodePort: 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: 1337/TCP
NodePort: 30421/TCP
Endpoints: 10.8.0.22:1337
Session Affinity: None
No events.
除了端点IP地址外,一切都是一样的。事实上,每当我这样做时它就会增加1。这是我期望不会改变的一件事,因为服务是一个对pod的抽象,所以当pod改变时它们不应该改变。
我知道你可以硬编码端点地址,所以这更多的是好奇心。
另外,任何人都可以告诉我描述输出中的IP字段是用于什么?
2015-09-16
tmandry