[Kubernetes] Pod Security Context

INYEONG KIM·2024년 8월 19일
post-thumbnail

Pod Security Context

컨테이너 build 단계에서 별도 조정하지 않은 경우 container는 root 계정/권한으로 실행

apiVersion: v1
kind: Pod
metadata:
  name: security-context-demo
spec:
  securityContext:
    runAsUser: 1010			# Pod user 재지정
    runAsGroup: 3000
  containers:
  - command:
    - sleep
    - "4800"
    image: ubuntu
    imagePullPolicy: Always
...

securityContext override

apiVersion: v1
kind: Pod
metadata:
  name: pod
spec:
  securityContext:
    runAsUser: 1001		# 1. Pod 에서 정의했더라도
  containers:
  -  image: ubuntu
     name: web
     command: ["sleep", "1000"]
     securityContext:
      runAsUser: 1002	# 2. container의 설정 값으로 override 되므로 주의가 필요

capabilities 예시

capabilities 추가 시 리눅스 커널에 대한 권한 부여 가능
capabilities 는 Pod 전역설정이 되지 않으므로 주의

apiVersion: v1
kind: Pod
metadata:
  name: security-context-demo-4
spec:
  containers:
  - name: sec-ctx-4
    image: gcr.io/google-samples/hello-app:2.0
    securityContext: 					# 1. container 내부에 securityContext 추가
      capabilities: 					# 2. 리눅스 커널 관련 권한 추가 항목 작성
        add: ["NET_ADMIN", "SYS_TIME"]

참고

https://kubernetes.io/docs/tasks/configure-pod-container/security-context/

profile
미래의 저를 위해 작성하는 중입니다 🙆‍♂️

0개의 댓글