如何创建一个pod以非root用户运行?
通过设置pod的securityContext.runAsUser设置pod用户以哪个用户运行
apiVersion: v1 kind: Pod metadata: name: my-pod-runasuser spec: containers: - name: my-container image: 172.20.58.152/middleware/nginx:1.21.4_usernginx securityContext: runAsUser: 101 runAsGroup: 101
[root@nccztsjb-node-23 yamls]# kubectl get po | grep run my-pod-runasuser 1/1 Running 0 35s [root@nccztsjb-node-23 yamls]#
有下面的几点,要注意:
1、镜像已经是改造过的,保证用普通的用户可以启动
2、runAsUser,runAsGroup中设置用户id和用户组id都是镜像中的用户信息,可以通过id命令进行查询
如果不满足以上的2点,随便一个pod,虽然可以设置,但是,容器不一定可以正确的启动,因为,pod内,进程的启动,对用户的权限也是有要求的。