2016-08-22 32 views
11

kubectl veya API'yi geçerli görüntüyü bir kapsül veya dağıtımdaki kapsayıcılar için nasıl alabilirim?Kubernetes dağıtımı için şu anki resmi getir

Örneğin, aşağıdaki yapılandırmayla oluşturulan bir dağıtımda, eu.gcr.io/test0/brain:latest değerini almak istiyorum.

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 

cevap

8

kubectl get deployments -o wide 
0 yüzden, 1.6 -o wide seçenek yapar kubectl itibaren

, mevcut görüntüyü çıktıda gösterecektir.

11

Sen bunu başarmak için kubectl en jsonpath çıktı seçeneği kullanabilirsiniz:

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

Sen çevreleyen tek veya çift tırnak gerekir (daha fazla ayrıntı için https://kubernetes.io/docs/tasks/access-application-cluster/list-all-running-container-images/ bakınız) zsh kabuğunu kullanıyorsanız JSONpath filtresi. Her zaman onları kullanmak için iyi bir uygulamadır. –

+0

@AntoineCotten İşaretçi için teşekkürler! Onları ekledi. –

1

benim için çalıştı aşağıdaki:

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

..My dağıtım yapılandırma açıkça farklıydı ('öğelerle 'başlangıçta eleman')

GÜNCELLEME: Sadece yapıyor if (dağıtım elemanlarının sadece bir listedir) 'öğeleri' eleman görünecektir :

kubectl get deployment -o=json 

Ben dağıtım adını belirtirseniz, oysa hiçbir öğe elemanı orada olacağım döndürülen json içinde, örneğin:

kubectl get deployment [deploymentName] -o=json 
0

(örneğin, tüm ad alanlarında) Tüm kapsüller için sadece görüntü uri almak için:

kubectl get pods --all-namespaces -o jsonpath="{..image}"

İlgili konular