如何在Google Cloud Platform中获取图像名称Kubernetes Pod

时间:2017-10-19 22:50:58

标签: docker kubernetes google-cloud-platform google-kubernetes-engine google-container-registry

如何获得 pod 上运行的容器图片的摘要

根据下面的屏幕截图,我希望能够从pod 中检索d976aea36eb5(日志,YAML等等。无论如何获取它)

我可以从YAML://Deployment/spec/template/spec/containers/image得到的是mysolution.host,这是图片的通用名称。

enter image description here

1 个答案:

答案 0 :(得分:2)

如果通过kubernetes API无法实现,您可以通过docker注册表API完成此操作。

您正在寻找的是图片的摘要,这是其manifest的sha256哈希值。 "姓名" GCR的UI屏幕截图中的列是图像的截断摘要。

字符串us.gcr.io/my-project-37111/mysolution.host代表存储库,它只是图像的集合。这些图像可以通过摘要或标签引用。

您可以使用gcloud列出存储库中的所有标记:

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

这也将显示截断的摘要。对于完整摘要,您可以使用--format=json标志:

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

如果您碰巧知道标记(突出显示图像的0.0.5-linux),您可以直接调用注册表API:

$ 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"