【发布时间】:2017-04-13 14:56:42
【问题描述】:
我正在尝试从 kubernetes doc 启动 Guestbook.go 示例,如下所示:
https://github.com/GoogleCloudPlatform/kubernetes/tree/master/examples/guestbook-go
我已修改上述链接中的 guestbook-service.json 以包含 PublicIPs
{
"apiVersion": "v1beta1",
"kind": "Service",
"id": "guestbook",
"port": 3000,
"containerPort": "http-server",
"publicIPs": ["10.39.67.97","10.39.66.113"],
"selector": { "name": "guestbook" }
}
我有一个master和两个minion,如下图:
centos-minion -> 10.39.67.97
centos-minion2 -> 10.39.66.113
我使用我的 publicIPs 作为我的 minions eth0 IP。但是 iptables 仅在其中一个 minions 上创建:
[root@ip-10-39-67-97 ~]# iptables -L -n -t nat
Chain KUBE-PORTALS-HOST (1 references)
target prot opt source destination
DNAT tcp -- 0.0.0.0/0 10.254.208.93 /* redis-slave */ tcp dpt:6379 to:10.39.67.240:56872
DNAT tcp -- 0.0.0.0/0 10.254.223.192 /* guestbook */ tcp dpt:3000 to:10.39.67.240:58746
DNAT tcp -- 0.0.0.0/0 10.39.67.97 /* guestbook */ tcp dpt:3000 to:10.39.67.240:58746
DNAT tcp -- 0.0.0.0/0 10.39.66.113 /* guestbook */ tcp dpt:3000 to:10.39.67.240:58746
DNAT tcp -- 0.0.0.0/0 10.254.0.2 /* kubernetes */ tcp dpt:443 to:10.39.67.240:33003
DNAT tcp -- 0.0.0.0/0 10.254.0.1 /* kubernetes-ro */ tcp dpt:80 to:10.39.67.240:58434
DNAT tcp -- 0.0.0.0/0 10.254.131.70 /* redis-master */ tcp dpt:6379 to:10.39.67.240:50754
因此,即使我使用我的 Pod 冗余,如果我使用该 IPTABLE 关闭了 minion,我的外部 publicIP 入口点也会死掉。我确信我有概念上的误解。任何人都可以帮忙
【问题讨论】:
-
publicIPs 字段在 1.0.6 版本中不起作用
标签: centos kubernetes