Kubernetes/Udemy - CKAD with Tests

Security Context

비번변경 2021. 7. 12. 22:30

도커 컨테이너에 프로세스 실행 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를 지정할 수 있다.