0

取得圖片名稱你如何得到消化上運行的容器圖像的如何在谷歌雲平臺Kubernetes波德

基於下面的屏幕截圖,我想能夠檢索從莢d976aea36eb5(原木,YAML等無論是得到它的方式)

什麼我可以從YAML://Deployment/spec/template/spec/containers/image得到是mysolution.host這是圖像的通用名稱。

enter image description here

回答

2

如果通過kubernetes API是不可能的,你可以通過註冊表泊塢窗API做到這一點。

你要尋找的是圖像的摘要,它是其manifest的sha256散列。 GCR用戶界面屏幕截圖中的「名稱」列是圖像的摘要摘要。

字符串us.gcr.io/my-project-37111/mysolution.host代表存儲庫,它只是一個圖像集合。這些圖像可以通過它們的摘要或標籤來引用。

可以使用gcloud列出您的庫中的所有標籤:

$ gcloud container images list-tags us.gcr.io/my-project-37111/mysolution.host 

這將顯示您的截斷消化以及。如果你碰巧知道(高亮顯示的圖像0.0.5-linux)標籤

$ gcloud container images list-tags --format=json us.gcr.io/my-project-37111/mysolution.host 

,你可以調用註冊表API直接:爲充分消化,您可以使用--format=json標誌

$ curl \ 
    -H "Accept: *" \ 
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \ 
    -I https://us.gcr.io/v2/my-project-37111/mysolution.host/manifests/0.0.5-linux | 
    grep "digest" 
+0

謝謝了解詳細信息。我可能會錯過解釋我想要做的事情。我需要獲取正在運行的pod的「摘要」信息。假設我在0.0.5上設置'active'標籤並運行pod,然後更改'active'標籤並添加到0.0.6上。我想知道當時運行的pod是0.0.5還是0.0.6。 – cilerler

+0

這是否工作? 'kubectl get pod $ POD -o jsonpath =「{... imageID}」' – jonjohnson

+0

yes確實有效,'status/containerStatuses/imageID'包含該信息。非常感謝你 – cilerler