मुझे कुबेरनेट्स में अपने मास्टर नोड को एक विशिष्ट नोड नाम प्रदान करने की आवश्यकता है। मैं अपने क्लस्टर को सेटअप करने के लिए kubeadm का उपयोग कर रहा हूं और मुझे पता है कि एक विकल्प --node-name master है जिसे आप kubeadm init को प्रदान कर सकते हैं और यह ठीक काम करता है।

अब, मुद्दा यह है कि मैं क्लस्टर को प्रारंभ करने के लिए कॉन्फ़िगरेशन फ़ाइल का उपयोग कर रहा हूं और मैंने क्लस्टर को उस नोड-नाम को प्रदान करने के विभिन्न तरीकों का प्रयास किया है लेकिन यह नाम नहीं उठा रहा है। Kubeadm init की मेरी कॉन्फ़िग फ़ाइल है:

apiVersion: kubeadm.k8s.io/v1alpha1
kind: MasterConfiguration
api:
  advertiseAddress: 10.0.1.149
  controlPlaneEndpoint: 10.0.1.149
etcd:
  endpoints:
  - http://10.0.1.149:2379
  caFile: /etc/kubernetes/pki/etcd/ca.pem
  certFile: /etc/kubernetes/pki/etcd/client.pem
  keyFile: /etc/kubernetes/pki/etcd/client-key.pem
networking:
  podSubnet: 192.168.13.0/24
kubernetesVersion: 1.10.3
apiServerCertSANs:
- 10.0.1.149
apiServerExtraArgs:
  endpoint-reconciler-type: lease
nodeRegistration:
  name: master

अब मैं kubeadm init --config=config.yaml चलाता हूं और यह निम्न त्रुटि के साथ टाइमआउट करता है:

[uploadconfig] Storing the configuration used in ConfigMap "kubeadm- 
config" in the "kube-system" Namespace
[markmaster] Will mark node ip-x-x-x-x.ec2.internal as master by 
adding a label and a taint
timed out waiting for the condition

पुनश्च: यह समस्या तब भी आती है जब आप क्यूबलेट को --node-name के साथ kubeadm init को --hostname-override प्रदान नहीं करते हैं। मैं दोनों प्रदान कर रहा हूँ। साथ ही, जब मैं kubeadm init को --node-name विकल्प प्रदान करने के लिए config.yaml फ़ाइल का उपयोग नहीं करता और कमांड लाइन का उपयोग नहीं करता हूं तो मुझे कोई समस्या नहीं आ रही है।

मैं जानना चाहता हूं कि हम config.yaml फ़ाइल में --node-name विकल्प कैसे प्रदान कर सकते हैं। किसी भी संकेत की सराहना की जाती है।

1
Prafull Ladha 27 नवम्बर 2018, 09:11

1 उत्तर

सबसे बढ़िया उत्तर

मैं निम्नलिखित कॉन्फ़िगरेशन फ़ाइल का उपयोग करके इस समस्या को हल करने में सक्षम हूं, अगर किसी को एक ही समस्या का सामना करना पड़ता है तो बस अपडेट करना:

apiVersion: kubeadm.k8s.io/v1alpha1
kind: MasterConfiguration
api:
  advertiseAddress: 10.0.1.149
  controlPlaneEndpoint: 10.0.1.149
etcd:
  endpoints:
  - http://10.0.1.149:2379
  caFile: /etc/kubernetes/pki/etcd/ca.pem
  certFile: /etc/kubernetes/pki/etcd/client.pem
  keyFile: /etc/kubernetes/pki/etcd/client-key.pem
networking:
  podSubnet: 192.168.13.0/24
kubernetesVersion: 1.10.3
apiServerCertSANs:
- 10.0.1.149
apiServerExtraArgs:
  endpoint-reconciler-type: lease
nodeName: master

इस प्रकार आप config.yaml . में --node-name निर्दिष्ट कर सकते हैं

2
Prafull Ladha 27 नवम्बर 2018, 07:31