如何创建一个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内,进程的启动,对用户的权限也是有要求的。

 

 

posted @ 2023-07-25 15:11  Zhai_David  阅读(257)  评论(0编辑  收藏  举报