16.4. Pod 보안 승인 경고 정보

Kubernetes API 서버가 Pod 보안 승인 컨트롤러의 감사 수준에 대한 Pod 거부가 있다고 보고할 때 PodSecurityViolation 경고가 트리거됩니다. 이 경고는 하루 동안 지속됩니다.

Kubernetes API 서버 감사 로그를 보고 트리거된 경고를 조사합니다. 예를 들어 글로벌 적용이 제한된 Pod 보안 수준으로 설정된 경우 워크로드는 승인에 실패할 가능성이 높습니다.

Pod 보안 승인 위반 감사 이벤트를 식별하는 방법에 대한 자세한 내용은 Kubernetes 문서의 감사 주석 을 참조하십시오.

16.4.1. Pod 보안 위반 확인

PodSecurityViolation 경고는 Pod 보안 위반을 유발하는 워크로드에 대한 세부 정보를 제공하지 않습니다. Kubernetes API 서버 감사 로그를 검토하여 영향을 받는 워크로드를 식별할 수 있습니다. 이 절차에서는 must-gather 툴을 사용하여 감사 로그를 수집한 다음 pod-security.kubernetes.io/audit-violations 주석을 검색합니다.

사전 요구 사항

  • jq를 설치했습니다.
  • cluster-admin 역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.

절차

  1. 감사 로그를 수집하려면 다음 명령을 입력합니다.

    $ oc adm must-gather -- /usr/bin/gather_audit_logs
  2. 영향을 받는 워크로드 세부 정보를 출력하려면 다음 명령을 입력합니다.

    $ zgrep -h pod-security.kubernetes.io/audit-violations must-gather.local.<archive_id>/<image_digest_id>/audit_logs/kube-apiserver/*log.gz \
      | jq -r 'select((.annotations["pod-security.kubernetes.io/audit-violations"] != null) and (.objectRef.resource=="pods")) | .objectRef.namespace + " " + .objectRef.name' \
      | sort | uniq -c

    &lt ;archive_id > 및 < image_digest_id >를 실제 경로 이름으로 바꿉니다.

    출력 예

    1 test-namespace my-pod