도커 컨테이너에 프로세스 실행 user와 capabilities를 설정할 수 있던 것과 같이 쿠버네티스에서도 동일한 부분을 설정할 수 있다.
쿠버네티스 컨테이너는 Pod에 캡슐화되어 있으므로 컨테이너 레벨, 또는 Pod 레벨에서 설정을 구성할 수 있다.
Pod 레벨
Pod 내 모든 컨테이너에 설정을 적용한다.
yaml 파일에서 securityContext 옵션을 사용하여 프로세스 실행 user를 지정할 수 있다.
apiVersion: v1
kind: Pod
metadata:
name: web-pod
spec:
securityContext:
runAsUser: 1000
containers:
- name: ubuntu
image: ubuntu
command: ["sleep", "3600"]
Container 레벨
Container 레벨에서 설정하면, 기존에 Pod 레벨에서 설정이 되어 있는 경우 해당 설정을 재정의한다.
apiVersion: v1
kind: Pod
metadata:
name: web-pod
spec:
containers:
- name: ubuntu
image: ubuntu
command: ["sleep", "3600"]
securityContext:
runAsUser: 1000
capabilities:
add: ["MAC_ADMIN"]
securityContext 옵션을 containers 항목 아래로 내리면 컨테이너 수준에서 설정이 가능하다.
또한, capabilties 옵션을 사용하면 쿠버네티스 컨테이너에 capabilties를 지정할 수 있다.