以其他用户身份在 Kubernetes pod 中执行命令

Sun*_*mar 5 kubernetes google-kubernetes-engine

docker exec -uUSER something在 Dockerfile 中使用时,Docker 允许以其他用户身份执行命令。当您CMD在 Dockerfile 中以系统用户身份运行时,进入超级用户模式以调试问题会很有帮助。

如何以其他用户身份在 Kubernetes 上执行命令?

我的 kubectl 版本输出是

Client Version: version.Info{Major:"1", Minor:"0", GitVersion:"v1.0.6", GitCommit:"388061f00f0d9e4d641f9ed4971c775e1654579d", GitTreeState:"clean"}
Server Version: version.Info{Major:"1", Minor:"0", GitVersion:"v1.0.6", GitCommit:"388061f00f0d9e4d641f9ed4971c775e1654579d", GitTreeState:"clean"}
Run Code Online (Sandbox Code Playgroud)

cri*_*sti 6

您可以检查规范架构以查看可以在 pod 或复制控制器或其他任何内容中添加的内容:https : //cloud.google.com/container-engine/docs/spec-schema

你有你想要的 runAsUser :

apiVersion: v1
kind: Pod
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  containers:
  - name: nginx
    image: nginx
    ports:
    - containerPort: 80
    securityContext:
      runAsUser: 41
Run Code Online (Sandbox Code Playgroud)