使用Kubectl检查容器

有没有办法直接从 kubernetes 命令行(使用 kubectl)检查在 pod 中运行的容器,以查看一些细节,例如在特权模式下运行。就像是:

kubectl inspect -c <containerName>

我发现的唯一方法是 ssh 到托管 pod 的节点并执行 docker inspect <containerID> 但这有点乏味。

我的 Kubernetes 版本

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.0", GitCommit:"fc32d2f3698e36b93322a3465f63a14e9f0eaead", GitTreeState:"clean", BuildDate:"2018-03-26T16:55:54Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.0+coreos.0", GitCommit:"6bb2e725fc2876cd94b3900fc57a1c98ca87a08b", GitTreeState:"clean", BuildDate:"2018-04-02T16:49:31Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
stack overflow Inspecting a container using kubectl
原文答案

答案:

作者头像

检查 kubectl describe pods/<pod_name>

如果这对您来说还不够,您可以使用 JSON 并使用 jq 过滤它

kubectl get <pod_name> -ojson | jq '.spec.containers[] | .securityContext'

另外,检查 kubectl Cheat Sheet