Consul 컨테이너는 권한 있는 컨테이너로 생성됩니다. 이를 변경하는 방법은 무엇입니까?

Consul 컨테이너는 권한 있는 컨테이너로 생성됩니다. 이를 변경하는 방법은 무엇입니까?

Azure 정책 추가 기능이 활성화되면(조직 정책에 따라) aks, azure kubernetes에 권한 있는 컨테이너를 만들 수 없습니다.

우리 애플리케이션은 아래와 같이 보안 컨텍스트로 설정되었습니다.

    securityContext:
        allowPrivilegeEscalation: false
        runAsNonRoot: true
        runAsUser: 999

따라서 우리 앱은 권한 있는 액세스 없이 생성할 수 있습니다. 그러나 (주석을 통해) consul과 연결하면 consul init 컨테이너가 생성되지 않습니다.

 Warning  FailedCreate  6s (x15 over 90s)  replicaset-controller  Error creating: admission webhook "validation.gatekeeper.sh" denied the request: [azurepolicy-psp-container-no-privilege-esc-30132221bc21e5b724da] Privilege escalation container is not allowed: envoy-sidecar
[azurepolicy-psp-container-no-privilege-esc-30132221bc21e5b724da] Privilege escalation container is not allowed: consul-sidecar
[azurepolicy-psp-container-no-privilege-esc-30132221bc21e5b724da] Privilege escalation container is not allowed: consul-connect-inject-init

답변1

Kubernetes용 Azure 정책이 작동하는 방식으로 각 컨테이너에 대해 allowPrivilegeEscalationfalse로 설정되는 값을 명시적으로 선언해야 합니다. 컨테이너가 이를 요구하지 않는 것만으로는 충분하지 않으며 이는 매니페스트에 설정되어야 합니다.

따라서 이것이 사이드카 포드에 설정되어 있는지 확인하려면 콘솔 배포를 수정해야 합니다. 저는 Consul에 그다지 익숙하지는 않지만 Helm과 함께 배포되는 경우 값 파일의 옵션을 살펴보고 이를 설정할 수 있는지 확인하세요.

관련 정보