6.9.2. Pod의 sysctl 설정
Pod의 securityContext
를 사용하여 Pod에 sysctl을 설정할 수 있습니다. securityContext
는 동일한 Pod의 모든 컨테이너에 적용됩니다.
안전한 sysctl은 기본적으로 허용됩니다. 안전하지 않은 sysctl이 있는 Pod는 클러스터 관리자가 해당 노드에 대해 안전하지 않은 sysctl을 명시적으로 활성화하지 않는 한 어떠한 노드에서도 시작되지 않습니다. 노드 수준 sysctl과 마찬가지로 노드에 테인트 및 허용 오차 기능을 사용하여 해당 Pod를 올바른 노드에 예약합니다.
다음 예제에서는 Pod securityContext
를 사용하여 안전한 sysctl kernel.shm_rmid_forced
와 안전하지 않은 sysctl인 net.core.somaxconn 및 kernel
.msgmax
를 설정합니다. 사양에서는 안전 및 안전하지 않은 sysctl이 구분되지 않습니다.
운영 체제가 불안정해지는 것을 방지하기 위해 sysctl 매개변수 수정이 미치는 영향을 파악한 후에만 수정하십시오.
프로세스
안전한 sysctl 및 안전하지 않은 sysctl을 사용하려면 다음을 수행합니다.
다음 예제와 같이 Pod를 정의하는 YAML 파일을 수정하고
securityContext
사양을 추가합니다.apiVersion: v1 kind: Pod metadata: name: sysctl-example spec: securityContext: sysctls: - name: kernel.shm_rmid_forced value: "0" - name: net.core.somaxconn value: "1024" - name: kernel.msgmax value: "65536" ...
Pod를 생성합니다.
$ oc apply -f <file-name>.yaml
안전하지 않은 sysctl을 노드에 사용할 수 없는 경우 Pod는 예약되지만 배포되지는 않습니다.
$ oc get pod
출력 예
NAME READY STATUS RESTARTS AGE hello-pod 0/1 SysctlForbidden 0 14s