有没有办法找到给定Docker容器ID的pod名称?
我可以反过来“kubectl describe pods”,但我必须在所有pod上运行它。
答案 0 :(得分:5)
是的,您可以使用以下kubectl
请求获取容器ID的容器名称:
kubectl get pod -o jsonpath='{range .items[?(@.status.containerStatuses[].containerID=="docker://<container_id>")]}{.metadata.name}{end}' -n <namespace>
其中<container_id>
是长的docker容器ID,<namespace>
是命名空间,如果我们的pod在默认命名空间中,我们可以跳过它。
例如:
kubectl get pod -o jsonpath='{range .items[?(@.status.containerStatuses[].containerID=="docker://686bc30be6e870023dcf611f7a7808516e041c892a236e565ba2bd3e0569ff7a")]}{.metadata.name}{end}'
nginx-deployment-569477d6d8-xtf42