إصدار Kubernetes :
إصدار العميل: version.Info {Major: "1"، Minor: "5"، GitVersion: "v1.5.2"، GitCommit: "08e099554f3c31f6e6f07b448ab3ed78d0520507"، GitTreeState: "clean"، BuildDate: 2017-01-12T04: 57 25Z "، GoVersion:" go1.7.4 "، المترجم:" gc "، النظام الأساسي:" darwin / amd64 "}
إصدار الخادم: version.Info {Major: "1"، Minor: "5"، GitVersion: "v1.5.3"، GitCommit: "029c3a408176b55c30846f0faedf56aae5992e9b"، GitTreeState: "clean"، BuildDate: "2017-02-15T06: 34: 56Z "، GoVersion:" go1.7.4 "، المترجم:" gc "، النظام الأساسي:" linux / amd64 "}
نسخة Docker على Master and Minions :
عامل ميناء -v
إصدار Docker 1.13.1 ، بناء 092cba3
البيئة :
uname -a
):أدوات التثبيت :
kubeadm
آخرون :
ماذا حدث :
باستخدام صفحة kubeadm ، قمت بتثبيت مجموعة من ثلاث عقد.
$ kc describe nodes | awk '/Addresses/ {print $2}' | awk -F',' '{print $3}'
knode-0
knode-1
knode-master
شبكة جراب القناة المثبتة:
kubectl create -f https://raw.githubusercontent.com/tigera/canal/master/k8sinstall/kubeadm/canal.yaml
كانت العقد والخدمات والقرون صحية في هذا الوقت. لذا انتقل إلى لوحة القيادة
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
ما توقعت حدوثه :
يشير قسم nodePort في مستند الخدمات إلى أن nodePort يجب أن يكون مرئيًا على جميع nodeIPs.
في حالتي ، لا تستجيب جميع nodeIPs للطلبات الموجودة على nodePort 31699 بلوحة القيادة وتعيد توجيهها إلى جراب لوحة القيادة.
يبدو أن العقدة (أو العميل) التي تستضيف الحجرة فقط تستجيب لطلبات المتصفح. العقد الأخرى (أو التوابع) لا تستجيب.
كيفية إعادة إنتاجه (بأقل قدر ممكن من الدقة والدقة):
من عقدة 1 (العميل): _
$ 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
_curl الوصول إلى لوحة القيادة خارج الكتلة: _
انتهت مهلة الاتصال بـ _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
تم التنزيل بنجاح من 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 * :
_ من knode-1 (يمكن الوصول إلى nodePort 31699): _
$ 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
_ من العقدة 0 (يتعذر الوصول إلى nodePort 31699): _
$ 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
أي شيء آخر نريد أن نعرفه :
يمكن تكرار نفس السلوك على RHEL 7.3.
واجهت نفس المشكلة.
قد يؤدي تشغيل iptables -P FORWARD ACCEPT
إلى حل مشكلتك. لكن لست متأكدًا من أنه خطأ عند دمجه مع docker v1.13.1
التعليق الأكثر فائدة
واجهت نفس المشكلة.
قد يؤدي تشغيل
iptables -P FORWARD ACCEPT
إلى حل مشكلتك. لكن لست متأكدًا من أنه خطأ عند دمجه مع docker v1.13.1