когда и где был создан ip сервиса для kubernetes статических пакетов - PullRequest
0 голосов
/ 29 августа 2018

Я использую кластер Kubernetes 1.6.7, 3 узла в качестве мастера (узел1, узел2 и узел3).

ip кластера apiserver, как показано ниже:

root@node1:/etc/kubernetes/manifests# kubectl get svc 
NAME                     CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
kubernetes               10.233.0.1      <none>        443/TCP        14d

root@node1:/etc/kubernetes/manifests# kubectl get endpoints
kubernetes               172.16.10.11:6443,172.16.10.12:6443,172.16.10.13:6443            14d

Проблема в том, что узел2 не работает, модуль румпеля не может получить доступ к 10.233.0.1:443, а в журналах показано ниже:

[storage] 2018/08/28 06:46:34 listing all releases with filter
[storage/driver] 2018/08/28 06:46:34 list: failed to list: Get https://10.233.0.1:443/api/v1/namespaces/kube-system/configmaps?labelSelector=OWNER%3DTILLER: dial tcp 10.233.0.1:443: connect: no route to host

и служба kubernetes все еще имеет 3 конечные точки, но я думаю, что 172.16.10.12 следует удалить из списка конечных точек. Iptables как ниже:

-A KUBE-SVC-LRLUS54FOYJDJ5GT -m comment --comment "default/wangxj35-nginx:nginx" -j KUBE-SEP-GGIOR777CPKVSIB7
-A KUBE-SVC-NPX46M4PTMTKRN6Y -m comment --comment "default/kubernetes:https" -m recent --rcheck --seconds 10800 --reap --name KUBE-SEP-CS4Z4M5BFAAWBFXQ --mask 255.255.255.255 --rsource -j KUBE-SEP-CS4Z4M5BFAAWBFXQ
-A KUBE-SVC-NPX46M4PTMTKRN6Y -m comment --comment "default/kubernetes:https" -m recent --rcheck --seconds 10800 --reap --name KUBE-SEP-MQZA2ZXHX6GRRY22 --mask 255.255.255.255 --rsource -j KUBE-SEP-MQZA2ZXHX6GRRY22
-A KUBE-SVC-NPX46M4PTMTKRN6Y -m comment --comment "default/kubernetes:https" -m recent --rcheck --seconds 10800 --reap --name KUBE-SEP-ZX77NMWHNJWLXYWF --mask 255.255.255.255 --rsource -j KUBE-SEP-ZX77NMWHNJWLXYWF
-A KUBE-SVC-NPX46M4PTMTKRN6Y -m comment --comment "default/kubernetes:https" -m statistic --mode random --probability 0.33332999982 -j KUBE-SEP-CS4Z4M5BFAAWBFXQ
-A KUBE-SVC-NPX46M4PTMTKRN6Y -m comment --comment "default/kubernetes:https" -m statistic --mode random --probability 0.50000000000 -j KUBE-SEP-MQZA2ZXHX6GRRY22
-A KUBE-SVC-NPX46M4PTMTKRN6Y -m comment --comment "default/kubernetes:https" -j KUBE-SEP-ZX77NMWHNJWLXYWF

-A KUBE-SEP-CS4Z4M5BFAAWBFXQ -p tcp -m comment --comment "default/kubernetes:https" -m recent --set --name KUBE-SEP-CS4Z4M5BFAAWBFXQ --mask 255.255.255.255 --rsource -m tcp -j DNAT --to-destination 172.16.10.11:6443
-A KUBE-SEP-MQZA2ZXHX6GRRY22 -p tcp -m comment --comment "default/kubernetes:https" -m recent --set --name KUBE-SEP-MQZA2ZXHX6GRRY22 --mask 255.255.255.255 --rsource -m tcp -j DNAT --to-destination 172.16.10.12:6443
-A KUBE-SEP-ZX77NMWHNJWLXYWF -p tcp -m comment --comment "default/kubernetes:https" -m recent --set --name KUBE-SEP-ZX77NMWHNJWLXYWF --mask 255.255.255.255 --rsource -m tcp -j DNAT --to-destination 172.16.10.13:6443

Может кто-нибудь помочь мне, где служба статических pods создана исходным кодом kubernetes?

Спасибо.

1 Ответ

0 голосов
/ 29 августа 2018

Controller.go создает службу kubernetes:

 // UpdateKubernetesService attempts to update the default Kube service. 
 func (c *Controller) UpdateKubernetesService(reconcile bool)> error { 
       // Update service & endpoint records.

Кроме того, чтобы обойти эту проблему, kubernetes1.9.0 добавил --endpoint-reconciler-type=lease, чтобы позволить apiserver отслеживать активный apiserver, см. issue51698 , в то время как для версии ниже 1.9.0 вы можете сбросить --apiserver-count флаг, позволяющий живому аписерверу выгружать только одну конечную позицию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...