有没有办法直接从 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"}
检查
kubectl describe pods/<pod_name>
如果这对您来说还不够,您可以使用 JSON 并使用
jq
过滤它kubectl get <pod_name> -ojson | jq '.spec.containers[] | .securityContext'
另外,检查 kubectl Cheat Sheet