KUBE_SERVICE вставка правил REJECT в iptables

У меня kubernetes работает на 4 центов 7 коробок, мастер и миньонов. У меня также есть фланель и skydns. ip фланелевого оверлея - 172.17.0.0/16, а ip сервисного кластера - 10.254.0.0/16. Я работаю со спинакерами на кластере k8. я вижу, что сервисы spinnaker не могут найти друг друга. Каждый модуль получает ip из среза 172.17, и я могу пропинговать его с любого из узлов, используя этот ip. Однако сами службы используют IP-адрес cluser и не могут общаться друг с другом. Так как именно Kube-прокси должен пересылать этот трафик, я посмотрел на правила iptable и увидел следующее:

[root@MultiNode4 ~$]iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
DOCKER-ISOLATION  all  --  anywhere             anywhere
DOCKER     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
KUBE-SERVICES  all  --  anywhere             anywhere             /* kubernetes service portals */

Chain DOCKER (1 references)
target     prot opt source               destination

Chain DOCKER-ISOLATION (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere

Chain KUBE-SERVICES (1 references)
target     prot opt source               destination
REJECT     tcp  --  anywhere             10.254.206.105       /* spinnaker/spkr-clouddriver: has no endpoints */ tcp dpt:afs3-prserver reject-with icmp-port-unreachable
REJECT     tcp  --  anywhere             10.254.162.75        /* spinnaker/spkr-orca: has no endpoints */ tcp dpt:us-srv reject-with icmp-port-unreachable
REJECT     tcp  --  anywhere             10.254.62.109        /* spinnaker/spkr-rush: has no endpoints */ tcp dpt:8085 reject-with icmp-port-unreachable
REJECT     tcp  --  anywhere             10.254.68.125        /* spinnaker/spkr-echo: has no endpoints */ tcp dpt:8089 reject-with icmp-port-unreachable
REJECT     tcp  --  anywhere             10.254.123.127       /* spinnaker/spkr-front50: has no endpoints */ tcp dpt:webcache reject-with icmp-port-unreachable
REJECT     tcp  --  anywhere             10.254.36.197        /* spinnaker/spkr-gate: has no endpoints */ tcp dpt:8084 reject-with icmp-port-unreachable

Похоже, что Kube-прокси не может переслать. У меня нет ошибок при запуске kube-proxy:

[root@MultiNode4 ~$]systemctl status kube-proxy -l
kube-proxy.service - Kubernetes Kube-Proxy Server
   Loaded: loaded (/usr/lib/systemd/system/kube-proxy.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2016-07-07 02:54:54 EDT; 1h 10min ago
     Docs: https://github.com/GoogleCloudPlatform/kubernetes
 Main PID: 7866 (kube-proxy)
   Memory: 3.6M
   CGroup: /system.slice/kube-proxy.service
           └─7866 /usr/bin/kube-proxy --logtostderr=true --v=0 --master=http://centos-master:8080

Jul 07 02:54:54 clm-aus-015349.bmc.com systemd[1]: Started Kubernetes Kube-Proxy Server.
Jul 07 02:54:54 clm-aus-015349.bmc.com systemd[1]: Starting Kubernetes Kube-Proxy Server...
Jul 07 02:54:54 clm-aus-015349.bmc.com kube-proxy[7866]: E0707 02:54:54.754845    7866 server.go:340] Can't get Node "multiNode4", assuming iptables proxy: nodes "MultiNode4" not found
Jul 07 02:54:54 clm-aus-015349.bmc.com kube-proxy[7866]: I0707 02:54:54.756460    7866 server.go:200] Using iptables Proxier.
Jul 07 02:54:54 clm-aus-015349.bmc.com kube-proxy[7866]: I0707 02:54:54.756527    7866 proxier.go:208] missing br-netfilter module or unset br-nf-call-iptables; proxy may not work as intended
Jul 07 02:54:54 clm-aus-015349.bmc.com kube-proxy[7866]: I0707 02:54:54.756551    7866 server.go:213] Tearing down userspace rules.
Jul 07 02:54:54 clm-aus-015349.bmc.com kube-proxy[7866]: I0707 02:54:54.770100    7866 conntrack.go:36] Setting nf_conntrack_max to 262144
Jul 07 02:54:54 clm-aus-015349.bmc.com kube-proxy[7866]: I0707 02:54:54.770145    7866 conntrack.go:41] Setting conntrack hashsize to 65536
Jul 07 02:54:54 clm-aus-015349.bmc.com kube-proxy[7866]: I0707 02:54:54.771445    7866 conntrack.go:46] Setting nf_conntrack_tcp_timeout_established to 86400

Что мне не хватает?

2 ответа

У меня такая же проблема, и оказывается, что селектор ошибочен. После исправления все работает просто отлично.

REJECT вставляется, когда конкретная служба имеет 0 конечных точек. Селектор в вашей Service.spec должен быть неправильным, или у вас нет запущенных модулей.

Другие вопросы по тегам