2016-08-22 21 views
11

Làm cách nào để sử dụng kubectl hoặc API để truy xuất hình ảnh hiện tại cho các vùng chứa trong nhóm hoặc triển khai?Tải hình ảnh hiện tại về triển khai kubernetes

Ví dụ: trong triển khai được tạo bằng cấu hình bên dưới, tôi muốn truy xuất giá trị 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 

Trả lời

8

Từ kubectl 1.6 tùy chọn -o wide thực hiện điều này, vì vậy

kubectl get deployments -o wide 

sẽ hiển thị hình ảnh hiện tại ở đầu ra.

11

Bạn có thể sử dụng tùy chọn đầu ra jsonpath kubectl để đạt được điều này:

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

Bạn sẽ cần đơn hay ngoặc kép xung quanh bộ lọc JSONpath nếu bạn đang sử dụng vỏ zsh. Đó là một thực hành tốt để luôn luôn sử dụng chúng. –

+0

@AntoineCotten Cảm ơn con trỏ! Đã thêm chúng vào. –

1

sau đây làm việc cho tôi:

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

..my triển khai cấu hình rõ ràng là khác nhau (với 'mục 'yếu tố lúc bắt đầu) vì một lý do nào đó.

UPDATE: Yếu tố 'mục' (mà chỉ là một danh sách các yếu tố triển khai) sẽ xuất hiện nếu chỉ thực hiện:

kubectl get deployment -o=json 

trong khi nếu tôi ghi rõ tên triển khai, sẽ có không có yếu tố mục trong json trở lại, ví dụ:

kubectl get deployment [deploymentName] -o=json 
Các vấn đề liên quan