【发布时间】:2015-09-16 15:18:13
【问题描述】:
我有一个名为 staging 的 kubernetes 服务,它选择所有 app=jupiter pod。它在端口 1337 上公开了一个 HTTP 服务。这是描述输出:
$ 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 上运行 kubectl rolling-update 时,删除了运行应用程序的 1 个 pod 并添加了另一个,然后再次运行描述,我得到:
$ 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 字段是干什么用的?
【问题讨论】:
标签: google-compute-engine kubernetes google-kubernetes-engine