배포가 차단되는 이유는 클러스터가 기본(baseline) 또는 제한된(restricted) 보안 프로파일을 엄격하게 적용하고 있기 때문입니다. 즉, 배포 매니페스트 내에 권한이 없는(unprivileged) 매개변수를 명시적으로 선언해야 합니다. 이러한 보안 검사를 통과하려면 구성 파일을 수정하여 전체 파드(Pod) 템플릿 수준과 개별 컨테이너(Container) 수준 모두에 적절한 보안 컨텍스트(security contexts)를 포함해야 합니다.
먼저, 파드 템플릿의 사양(spec) 섹션을 찾아 보안 컨텍스트 블록을 추가하십시오. 이 블록 내에서 runAsNonRoot 매개변수를 true로 설정하고, runAsUser 매개변수를 1000과 같은 0이 아닌 사용자 ID로 정의해야 합니다. 다음으로, 동일한 매니페스트 내에서 특정 컨테이너 정의를 찾아 컨테이너 수준의 보안 컨텍스트를 추가하십시오. 여기서는 readOnlyRootFilesystem 매개변수를 true로 설정하고 allowPrivilegeEscalation이 false로 설정되었는지 확인해야 합니다. 읽기 전용 파일 시스템을 활성화하면 애플리케이션이 표준 임시 파일을 기록하지 못하도록 차단되므로, 파드 사양 하단에 emptyDir 볼륨도 구성해야 합니다. 이 임시 볼륨을 임시 디렉터리와 같이 쓰기 작업이 많은 컨테이너 내 경로에 마운트하여, 모든 제한된 보안 정책을 충족하면서도 애플리케이션이 원활하게 작동할 수 있도록 하십시오.
이 답변이 유용한 정보를 제공해 드렸기를 바랍니다. 도움이 되셨다면 “답변 채택(accept answer)”을 눌러주십시오. 추가 질문이 있으시면 언제든지 댓글을 남겨주시기 바랍니다.
VPHAN