नष्ट किए गए कुबेदम मास्टर को पुनर्स्थापित करें

Dec 30 2020

मैंने 1-मास्टर 2-वर्कर कुबेरनेट्स क्लस्टर बनाया जिसका उपयोग कुबेदम 1.20 का उपयोग करके किया गया और कॉर्ड का समर्थन किया। मैंने परीक्षण को देखने के उद्देश्य से मास्टर को नष्ट कर दिया कि कैसे क्लस्टर को चालू स्थिति में वापस लाया जाए।

Kubernetes version: 1.20
Installation method: kubeadm
Host OS: windows 10 pro
Guest OS: ubuntu 18 on virtual box 6
CNI and version: weave-net
CRI and version: docker 19

मैं उस काम में आंशिक रूप से सफल हूं, जिसे मैंने मास्टर को नष्ट करने से पहले बनाया था, जो कि etcd रिस्टोर के बाद दिखाई देता है, इसलिए वह हिस्सा काम करने लगता है।

कभी-कभी coredns फली के लॉग के आधार पर एपीआई सर्वर से अनुरोध करने के लिए अनधिकृत पॉड्स अनधिकृत हैं:

[INFO] plugin/ready: Still waiting on: "kubernetes"
E1229 21:42:25.892580       1 reflector.go:178] pkg/mod/k8s.io/[email protected]/tools/cache/reflector.go:125: Failed to list *v1.Namespace: Unauthorized
E1229 21:42:29.680620       1 reflector.go:178] pkg/mod/k8s.io/[email protected]/tools/cache/reflector.go:125: Failed to list *v1.Endpoints: Unauthorized
[INFO] plugin/ready: Still waiting on: "kubernetes"
E1229 21:42:39.492521       1 reflector.go:178] pkg/mod/k8s.io/[email protected]/tools/cache/reflector.go:125: Failed to list *v1.Service: Unauthorized

मैं यह अनुमान लगा रहा हूं कि यह सेवा खाते के टोकन के साथ कुछ करना है, इसलिए एक कदम है जो मैं पॉड को बदलने के बाद एपीआई-सर्वर को प्रमाणित करने के लिए पॉड्स को अधिकृत करने के लिए गायब हूं।

मैं क्या खो रहा हूँ?

जवाब

2 coderanger Dec 30 2020 at 13:38

यदि आप केवल Etcd की सामग्री का समर्थन करते हैं तो kubeadm ने ServiceAccount JWTs पर हस्ताक्षर करने के लिए उपयोग किए गए नए प्रमाण पत्र बनाए होंगे। पुराने टोकन अब सत्यापित नहीं होंगे। जैसा कि यह आमतौर पर नियमित रखरखाव के दौरान नहीं किया जाता है, मुझे नहीं लगता कि एसए नियंत्रक टोकन को फिर से जारी करना जानता है। यदि आप सभी अंतर्निहित रहस्यों को हटाते हैं तो इसे फिर से करना चाहिए।