使用 kubectl 检查容器

Abd*_*ani 2 containers kubernetes kubectl

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

kubectl inspect -c <containerName>
Run Code Online (Sandbox Code Playgroud)

我发现的唯一方法是通过 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"}
Run Code Online (Sandbox Code Playgroud)

FL3*_*3SH 5

查看 kubectl describe <pod_name> -c <containerName>

如果这对您来说还不够,您可以使用 JSON 并使用以下命令对其进行过滤 jq

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

另外,请检查kubectl 备忘单