파드 또는 컨테이너에 대한 권한 및 액세스 제어 설정을 정의하는 것
컨테이너 실행시 어떤 유저로 프로세스를 실행시킬지 설정하는 것 등등
설정이 파드 내 모든 컨테이너에 전달
spec.securityContext 를 설정하여 구현
설정이 특정 컨테이너에만 전달 → 파드에서 설정한 것을 덮어씌움
spec.containers.securityContext 를 설정하여 구현
apiVersion: v1
kind: Pod
metadata:
name: ubuntu-sleeper
spec:
containers:
- command:
- sleep
- "4800"
image: ubuntu
name: ubuntu
securityContext:
capabilities:
add:
- SYS_TIME
- NET_ADMIN
web 컨테이너는 1002 유저로 실행
sidecar 컨테이너는 1001 유저로 실행
apiVersion: v1
kind: Pod
metadata:
name: multi-pod
spec:
securityContext:
runAsUser: 1001
containers:
- image: ubuntu
name: web
command: ["sleep", "5000"]
securityContext:
runAsUser: 1002
- image: ubuntu
name: sidecar
command: ["sleep", "5000"]