Chr*_*ski 6 kubernetes kubectl
如何在Kubernetes部署中获取图像/容器的图像ID(docker sha256哈希)?
像这样的东西会起作用(你必须已经jq
安装):
$ kubectl get pod --namespace=xx yyyy -o json | jq '.status.containerStatuses[] | { "image": .image, "imageID": .imageID }'
{
"image": "nginx:latest",
"imageID": "docker://sha256:b8efb18f159bd948486f18bd8940b56fd2298b438229f5bd2bcf4cedcf037448"
}
{
"image": "eu.gcr.io/zzzzzzz/php-fpm-5:latest",
"imageID": "docker://sha256:6ba3fe274b6110d7310f164eaaaaaaaaaa707a69df7324a1a0817fe3b475566a"
}
Run Code Online (Sandbox Code Playgroud)
一个没有 jq 用法的例子。
使用jsonpath:
kubectl get pods $YOUR_POD_NAME -o jsonpath="{..imageID}"
使用go-templates
kubectl get pods $YOUR_POD_NAME -o go-template --template="{{ range .status.containerStatuses }}{{ .imageID }}{{end}}"
参考:https : //kubernetes.io/docs/tasks/access-application-cluster/list-all-running-container-images/#list-containers-filtering-by-pod-namespace
小智 5
正确的做法是:
kubectl get pods --all-namespaces -o jsonpath="{.items[*].status.containerStatuses[*].imageID}" | tr -s '[[:space:]]' '\n' | sort | uniq -c
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3519 次 |
最近记录: |