2016-03-30 11 views
7

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

apiVersion: v1 
clusters: [] 
contexts: [] 
current-context: "" 
kind: Config 
preferences: {} 
users: [] 

उत्तर

16

क्लस्टर में नोड्स में से किसी एक को ssh'ing के बिना दूरस्थ kubernetes क्लस्टर तक पहुंचने का एक तरीका मिला।

apiVersion: v1 
clusters:  
- cluster: 
    server: http://<master-ip>:<port> 
    name: test 
contexts: 
- context: 
    cluster: test 
    user: test 
    name: test 

फिर सेट संदर्भ क्रियान्वित करते हुए:: आप ~/.kube/config नीचे के रूप में फाइल को संपादित करने की जरूरत है

kubectl config use-context test 

इस के बाद आप क्लस्टर के साथ बातचीत करने में सक्षम होना चाहिए।

नोट: प्रमाण पत्र और लिंक का पालन कुंजी उपयोग जोड़ने के लिए: http://kubernetes.io/docs/user-guide/kubeconfig-file/

वैकल्पिक रूप से, आप भी आदेश

kubectl config set-cluster test-cluster --server=http://<master-ip>:<port> --api-version=v1 
kubectl config use-context test-cluster 
0

आपने अपने क्लस्टर को कैसे सेट अप किया? क्लस्टर को दूरस्थ रूप से एक्सेस करने के लिए आपको एक क्यूब कॉन्फिग फ़ाइल की आवश्यकता है (ऐसा लगता है कि आपके पास कोई नहीं है) और सेटअप स्क्रिप्ट क्लस्टर परिनियोजन प्रक्रिया के हिस्से के रूप में स्थानीय क्यूब कॉन्फ़िगर फ़ाइल उत्पन्न करती हैं (क्योंकि अन्यथा क्लस्टर जो आपने अभी तैनात किया है वह उपयोग योग्य नहीं है) । अगर किसी और ने क्लस्टर को तैनात किया है, तो आपको क्लस्टर से कनेक्ट करने के लिए आवश्यक क्लाइंट प्रमाण-पत्रों की प्रति प्राप्त करने के लिए लिंक किए गए पृष्ठ पर दिए गए निर्देशों का पालन करना चाहिए।

+0

मैं नीचे दिए गए लिंक का उपयोग कर रहा एक क्लस्टर http://kubernetes.io/docs ऊपर लाने के लिए: सुनिश्चित नहीं करता है, तो इस Azure पर काम करेगा, लेकिन यह एक एडब्ल्यूएस समर्थित (कोप्स) क्लस्टर पर काम किया/हो रही-शुरू-मार्गदर्शिका/कोरोस/एज़ूर/लेकिन kubeconfig फ़ाइल में पॉइंटर नहीं मिल पा रहा है। –

+1

उदाहरण के माध्यम से पढ़ना, ऐसा लगता है कि walkthrough आपने मास्टर नोड पर 'kubectl' आदेश चलाए हैं। क्या आप मास्टर में लॉग इन कर सकते हैं और वहां कमांड चलाने का प्रयास कर सकते हैं? –

+0

हां मैं मास्टर नोड से क्लस्टर तक पहुंच सकता हूं। लेकिन मुझे इसे दूरस्थ रूप से एक्सेस करने में मदद की ज़रूरत है (बिना मास्टर नोड के ssh'ing)। –

0

Azure सेटअप केवल ssh बंदरगाहों बाह्य को उजागर करता है निम्नलिखित की कोशिश कर सकते हैं। यह ./output/kube_xxxxxxxxxx_ssh_conf के तहत पाया जा सकता है मैंने एसएसएच बंदरगाह सुरंग जोड़कर एसएसएच को अपनी मशीन पर उपलब्ध कराने के लिए सुरंग किया है।

LocalForward 8080 127.0.0.1:8080

जो अपने स्थानीय मशीन पोर्ट 8080 नक्शे (जहां kubectl खोज डिफ़ॉल्ट के लिए: ऊपर फाइल में और नीचे जाओ "मेजबान *" खंड एक और लाइन bellow तरह जोड़ने संदर्भ) रिमोट मशीन 8080 पोर्ट पर जहां मास्टर एपीआई कॉल सुनता है। जब आप क्यूब -00 पर एसएसएच खोलते हैं तो नियमित दस्तावेज़ों के रूप में दिखाया जाता है कि अब आपके स्थानीय क्यूबक्टल से बिना किसी अतिरिक्त कॉन्फ़िगरेशन के कॉल कर सकते हैं।

2

आप --kubeconfig पैरामीटर में गुजरकर kubeconfig के फ़ाइलपाथ को भी परिभाषित कर सकते हैं।

उदाहरण के लिए, दूरस्थ Kubernetes के ~/.kube/config को अपने स्थानीय प्रोजेक्ट के ~/myproject/.kube/config पर होस्ट करें। ~/myproject में आप kubectl get pods --kubeconfig ./.kube/config चलाकर दूरस्थ कुबेरनेट सर्वर के फली को सूचीबद्ध कर सकते हैं।

ध्यान दें कि दूरस्थ Kubernetes सर्वर से मानों को कॉपी करते समय सरल kubectl config view पर्याप्त नहीं होगा, क्योंकि यह कॉन्फ़िगरेशन फ़ाइल के रहस्य प्रदर्शित नहीं करेगा। इसके बजाय, आपको पूर्ण फ़ाइल सामग्री प्राप्त करने के लिए cat ~/.kube/config जैसे कुछ करना है या scp का उपयोग करना है।

देखें: https://kubernetes.io/docs/tasks/administer-cluster/share-configuration/