2016-10-05 3 views
6

मुझे 2 वीएम नोड्स हैं। दोनों एक दूसरे को मेजबाननाम (/ etc/hosts के माध्यम से) या आईपी पते द्वारा देखते हैं। एक को कुबेडम के साथ एक मास्टर के रूप में प्रावधान किया गया है। एक कार्यकर्ता नोड के रूप में एक और। निर्देशों के बाद (http://kubernetes.io/docs/getting-started-guides/kubeadm/) मैंने बुनाई नेट जोड़ा है। फली की सूची निम्नलिखित की तरह दिखता है:दूसरे नोड के लिए बुनाई नेट क्रैश लूपबैकऑफ को कैसे ठीक करें?

[email protected]:~$ kubectl get pods --all-namespaces 
NAMESPACE  NAME         READY  STATUS    RESTARTS AGE 
kube-system etcd-vm-master       1/1  Running   0   3m 
kube-system kube-apiserver-vm-master    1/1  Running   0   5m 
kube-system kube-controller-manager-vm-master  1/1  Running   0   4m 
kube-system kube-discovery-982812725-x2j8y   1/1  Running   0   4m 
kube-system kube-dns-2247936740-5pu0l    3/3  Running   0   4m 
kube-system kube-proxy-amd64-ail86     1/1  Running   0   4m 
kube-system kube-proxy-amd64-oxxnc     1/1  Running   0   2m 
kube-system kube-scheduler-vm-master    1/1  Running   0   4m 
kube-system kubernetes-dashboard-1655269645-0swts 1/1  Running   0   4m 
kube-system weave-net-7euqt       2/2  Running   0   4m 
kube-system weave-net-baao6       1/2  CrashLoopBackOff 2   2m 

CrashLoopBackOff प्रत्येक कार्यकर्ता जुड़े नोड के लिए प्रकट होता है। मैंने कई इंटरफेस के साथ खेल रहे हैं, लेकिन ऐसा लगता है कि नेटवर्क ठीक है। मुझे इसी तरह का सवाल मिला है, जहां उत्तर ने लॉग को देखने की सलाह दी और कोई फॉलो अप नहीं किया।

[email protected]:~$ kubectl logs weave-net-baao6 -c weave --namespace=kube-system 
2016-10-05 10:48:01.350290 I | error contacting APIServer: Get https://100.64.0.1:443/api/v1/nodes: dial tcp 100.64.0.1:443: getsockopt: connection refused; trying with blank env vars 
2016-10-05 10:48:01.351122 I | error contacting APIServer: Get http://localhost:8080/api: dial tcp [::1]:8080: getsockopt: connection refused 
Failed to get peers 

क्या मैं गलत कर रहा हूँ: तो, यहां लॉग कर रहे हैं? वहां से कहाँ जाना है?

उत्तर

2

यह एक एकल नोड सेटअप के साथ भी होता है। मैंने कॉन्फ़िगरेशन और मनोरंजन को पुन: लागू करने जैसी कई चीजों की कोशिश की, लेकिन फिलहाल सबसे स्थिर तरीका एक पूर्ण आंसू (जैसा कि दस्तावेज़ों में वर्णित है) करना है और क्लस्टर को फिर से रखना है।

मैं क्लस्टर को दोबारा लॉन्च करने के लिए ये स्क्रिप्ट का उपयोग करें:

down.sh

#!/bin/bash 

systemctl stop kubelet; 
docker rm -f -v $(docker ps -q); 
find /var/lib/kubelet | xargs -n 1 findmnt -n -t tmpfs -o TARGET -T | uniq | xargs -r umount -v; 
rm -r -f /etc/kubernetes /var/lib/kubelet /var/lib/etcd; 

up.sh

#!/bin/bash 

systemctl start kubelet 
kubeadm init 
# kubectl taint nodes --all dedicated- # single node! 
kubectl create -f https://git.io/weave-kube 

संपादित करें: मैं भी अन्य Pod नेटवर्क एक कोशिश, जैसे देना होगा कैलिको, अगर यह एक बुनाई संबंधित मुद्दा है

+0

मैंने यह गलत तरीका कहा ... मेरा मतलब था कि यह एकल नोड के लिए भी होता है (न केवल) ... मैं अपना जवाब संपादित करूंगा .... –

+1

मुझे यकीन नहीं है कि आपकी समस्या ओपी के समान है का वर्णन किया। ऐसा होता है कि विभिन्न कुछ अलग-अलग मुद्दों के लिए समान लक्षण हैं। – errordeveloper

5

मैं भी एक ही मुद्दे में भाग गया। ऐसा लगता है कि वीवर कुबेरनेट क्लस्टर आईपी पते से कनेक्ट करना चाहता है, जो वर्चुअल है। क्लस्टर आईपी: kubectl get svc खोजने के लिए बस इसे चलाएं। यह आप कुछ इस तरह देना चाहिए:

$ kubectl get svc 
NAME      CLUSTER-IP  EXTERNAL-IP PORT(S) AGE 
kubernetes    100.64.0.1  <none>  443/TCP 2d 

वीवर इस आईपी ऊपर उठाता है और यह करने के लिए कनेक्ट करने की कोशिश करता है, लेकिन कार्यकर्ता नोड्स इसके बारे में कुछ नहीं जानता है। सरल मार्ग इस मुद्दे को हल करेगा। अपने सभी कार्यकर्ता नोड्स पर, निष्पादित करें:

route add 100.64.0.1 gw <your real master IP> 
+4

कुछ जोड़ों के लिए एक मार्ग जोड़ना एक वैध समाधान है, हालांकि '- क्लस्टर-सीडीआर = 10.32.0.0/12' के साथ वेव सीआईडीआर को' क्यूब-प्रॉक्सी 'से गुजरना एक बेहतर विकल्प है। – errordeveloper

+0

@errordeveloper - सुझाव के लिए धन्यवाद, वह कार्यकर्ता पूरी तरह से! –

+0

@errordeveloper क्यूब-प्रॉक्सी में --cluster-cidr = 10.32.0.0/12 जोड़ने के लिए कैसे? –

2

इस के लिए सबसे सामान्य कारणों में हो सकता है: - एक फ़ायरवॉल की उपस्थिति (जैसे CentOS पर firewalld) - नेटवर्क विन्यास (VirtualBox पर जैसे डिफ़ॉल्ट नेट इंटरफेस)

वर्तमान में kubeadm अभी भी अल्फा है, और यह उन मुद्दों में से एक है जिन्हें पहले से ही अल्फा टेस्टर्स द्वारा रिपोर्ट किया गया है। हम सबसे आम समस्याओं को दस्तावेज करके इसे ठीक करने की सोच रहे हैं, ऐसे दस्तावेज बीटा संस्करण के करीब तैयार होने जा रहे हैं।

ठीक a VirtualBox+Vargant+Ansible for Ubunutu and CentOS reference implementation मौजूद है जो फ़ायरवॉल, सेलिनक्स और वर्चुअलबॉक्स एनएटी मुद्दों के समाधान प्रदान करता है।

संबंधित मुद्दे