Version de Kubernetes :
Version du client : version.Info{Major :"1", Minor :"5", GitVersion :"v1.5.2", GitCommit :"08e099554f3c31f6e6f07b448ab3ed78d0520507", GitTreeState :"clean", BuildDate :"2017-01-12T04:57 : 25Z", GoVersion :"go1.7.4", Compilateur :"gc", Plate-forme :"darwin/amd64"}
Version du serveur : version.Info{Major :"1", Minor :"5", GitVersion :"v1.5.3", GitCommit :"029c3a408176b55c30846f0faedf56aae5992e9b", GitTreeState :"clean", BuildDate :"2017-02-15T06:34 : 56Z", GoVersion :"go1.7.4", Compilateur :"gc", Plate-forme :"linux/amd64"}
Version Docker sur master et minions :
$ docker -v
Docker version 1.13.1, build 092cba3
Environnement :
uname -a
):Installer les outils :
kubeadm
Autres :
Que s'est-il passé :
À l'aide de la page kubeadm , j'ai installé un cluster à trois nœuds.
$ kc describe nodes | awk '/Addresses/ {print $2}' | awk -F',' '{print $3}'
knode-0
knode-1
knode-master
Réseau de pods canal installé :
kubectl create -f https://raw.githubusercontent.com/tigera/canal/master/k8sinstall/kubeadm/canal.yaml
Les nœuds, les services et les pods étaient sains à ce moment-là. Alors procédé au tableau de bord
kubectl create -f https://rawgit.com/kubernetes/dashboard/master/src/deploy/kubernetes-dashboard.yaml
$ kubectl get -n kube-system services
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
canal-etcd 10.96.232.136 <none> 6666/TCP 5m
kube-dns 10.96.0.10 <none> 53/UDP,53/TCP 13h
kubernetes-dashboard 10.110.163.186 <nodes> 80:31699/TCP 1m
Ce à quoi vous vous attendiez :
La section nodePort dans la documentation des services indique que nodePort doit être visible sur toutes les nodeIP.
Dans mon cas, tous les nœuds IP ne répondent pas aux demandes sur le nodePort 31699 du tableau de bord et ne les transmettent pas au pod du tableau de bord.
Seul le nœud (ou minion) hébergeant le pod semble répondre aux requêtes du navigateur. Les autres nœuds (ou minions) ne répondent pas.
Comment le reproduire (le moins et le plus précisément possible) :
_De knode-1 (un serviteur) :_
$ sudo docker ps -a | grep dashboard
79e23eff2c26 gcr.io/google_containers/kubernetes-dashboard-amd64:v1.5.1 "/dashboard --port..." 44 minutes ago Up 43 minutes
_accès curl au tableau de bord en dehors du cluster :_
La connexion a expiré à _knode-0:31699
$ curl -m 2 -O http://knode-0:31699/#/workload?namespace=default
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0curl: (28) Connection timed out after 2003 milliseconds
Téléchargé avec succès depuis knode-1:31699
$ curl -m 2 -O http://knode-1:31699/#/workload?namespace=default
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 811 100 811 0 0 18097 0 --:--:-- --:--:-- --:--:-- 18431
*iptables * :
_Depuis knode-1 (nodePort 31699 accessible) :_
$ sudo iptables-save | grep dashboard
-A KUBE-NODEPORTS -p tcp -m comment --comment "kube-system/kubernetes-dashboard:" -m tcp --dport 31699 -j KUBE-MARK-MASQ
-A KUBE-NODEPORTS -p tcp -m comment --comment "kube-system/kubernetes-dashboard:" -m tcp --dport 31699 -j KUBE-SVC-XGLOHA7QRQ3V22RZ
-A KUBE-SEP-4CN2KLL64AIMJOUC -s 192.168.92.6/32 -m comment --comment "kube-system/kubernetes-dashboard:" -j KUBE-MARK-MASQ
-A KUBE-SEP-4CN2KLL64AIMJOUC -p tcp -m comment --comment "kube-system/kubernetes-dashboard:" -m tcp -j DNAT --to-destination 192.168.92.6:9090
-A KUBE-SERVICES -d 10.110.163.186/32 -p tcp -m comment --comment "kube-system/kubernetes-dashboard: cluster IP" -m tcp --dport 80 -j KUBE-SVC-XGLOHA7QRQ3V22RZ
-A KUBE-SVC-XGLOHA7QRQ3V22RZ -m comment --comment "kube-system/kubernetes-dashboard:" -j KUBE-SEP-4CN2KLL64AIMJOUC
_Depuis knode-0 (nodePort 31699 inaccessible) :_
$ sudo iptables-save | grep dashboard
-A KUBE-NODEPORTS -p tcp -m comment --comment "kube-system/kubernetes-dashboard:" -m tcp --dport 31699 -j KUBE-MARK-MASQ
-A KUBE-NODEPORTS -p tcp -m comment --comment "kube-system/kubernetes-dashboard:" -m tcp --dport 31699 -j KUBE-SVC-XGLOHA7QRQ3V22RZ
-A KUBE-SEP-4CN2KLL64AIMJOUC -s 192.168.92.6/32 -m comment --comment "kube-system/kubernetes-dashboard:" -j KUBE-MARK-MASQ
-A KUBE-SEP-4CN2KLL64AIMJOUC -p tcp -m comment --comment "kube-system/kubernetes-dashboard:" -m tcp -j DNAT --to-destination 192.168.92.6:9090
-A KUBE-SERVICES -d 10.110.163.186/32 -p tcp -m comment --comment "kube-system/kubernetes-dashboard: cluster IP" -m tcp --dport 80 -j KUBE-SVC-XGLOHA7QRQ3V22RZ
-A KUBE-SVC-XGLOHA7QRQ3V22RZ -m comment --comment "kube-system/kubernetes-dashboard:" -j KUBE-SEP-4CN2KLL64AIMJOUC
Tout ce que nous devons savoir :
Le même comportement est reproductible sur RHEL 7.3.
J'ai rencontré le même problème.
Exécutez iptables -P FORWARD ACCEPT
peut résoudre votre problème. Mais pas sûr que ce soit un bogue lorsqu'il est intégré à docker v1.13.1
Commentaire le plus utile
J'ai rencontré le même problème.
Exécutez
iptables -P FORWARD ACCEPT
peut résoudre votre problème. Mais pas sûr que ce soit un bogue lorsqu'il est intégré à docker v1.13.1