【问题标题】:Kubernetes Service Proxy Concept: PublicIPKubernetes 服务代理概念:PublicIP
【发布时间】: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


【解决方案1】:

(抱歉回答您的问题延迟)

PublicIP 是在每个主机节点上定义的,因此,如果您确保将数据包从外部负载平衡器(例如边缘路由器)循环到主机节点,那么即使其中一台主机也可以有冗余机器出现故障。

--布伦丹

【讨论】:

    【解决方案2】:

    您应该使用kubectl proxy  --accept-hosts='^*$' --address='0.0.0.0' --port=8001 将您的 kube-proxy 端口暴露给公共 IP 或内部 iP

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-26
      • 2014-10-06
      • 2018-11-09
      • 1970-01-01
      • 2013-04-07
      • 2017-11-07
      • 1970-01-01
      相关资源
      最近更新 更多