2016-08-22 11 views
11

मैं kubectl या एपीआई को फली या तैनाती में कंटेनरों के लिए वर्तमान छवि को पुनर्प्राप्त करने के लिए कैसे उपयोग कर सकता हूं?कुबर्नेट्स परिनियोजन की वर्तमान छवि प्राप्त करें

उदाहरण के लिए, नीचे कॉन्फ़िगरेशन के साथ बनाए गए तैनाती में, मैं मान eu.gcr.io/test0/brain:latest को पुनर्प्राप्त करना चाहता हूं।

apiVersion: v1 
    kind: Deployment 
    metadata: 
    name: flags 
    spec: 
    replicas: 6 
    template: 
     metadata: 
     labels: 
     app: flags 
     spec: 
     containers: 
     - name: flags 
      image: eu.gcr.io/test0/brain:latest 

उत्तर

8

से kubectl 1.6 -o wide विकल्प यह करता है, तो

kubectl get deployments -o wide 

आउटपुट में वर्तमान छवि दिखाएगा।

11

आप kubectl के jsonpath उत्पादन विकल्प का उपयोग कर सकते हैं प्राप्त करने के लिए इस:

kubectl get deployment flags -o=jsonpath='{$.spec.template.spec.containers[:1].image}' 
+0

आप आसपास के एकल या डबल उद्धरण की आवश्यकता होगी यदि आप zsh खोल का उपयोग कर रहे हैं तो JSONpath फ़िल्टर। हमेशा उनका उपयोग करने के लिए यह एक अच्छा अभ्यास है। –

+0

@ एंटोनीक पॉइंटर के लिए धन्यवाद! उन्हें जोड़ा गया। –

1

मेरे लिए काम किया है:

kubectl get deployment -o=jsonpath='{$.items[:1].spec.template.spec.containers[:1].image}' 

..my तैनाती config स्पष्ट रूप से अलग था ('आइटम के साथ कुछ कारणों से 'शुरुआत में तत्व)।

अद्यतन: अगर बस कर 'आइटम' तत्व (जो सिर्फ तैनाती तत्वों की सूची है) दिखाई देगा:

kubectl get deployment -o=json 

जबकि अगर मैं तैनाती नाम निर्दिष्ट, वहाँ कोई आइटम तत्व हो जाएगा लौटे json में, उदाहरण के लिए:

kubectl get deployment [deploymentName] -o=json 
संबंधित मुद्दे