Consul-Container werden als privilegierte Container erstellt. Wie kann man das ändern?

Consul-Container werden als privilegierte Container erstellt. Wie kann man das ändern?

Wenn das Azure-Richtlinien-Add-on aktiviert ist (gemäß Organisationsrichtlinie), können wir keine privilegierten Container auf AKS, Azure Kubernetes, erstellen.

Unsere Anwendung ist wie unten beschrieben auf den Sicherheitskontext eingestellt.

    securityContext:
        allowPrivilegeEscalation: false
        runAsNonRoot: true
        runAsUser: 999

Unsere App kann also ohne privilegierten Zugriff erstellt werden. Bei der Verknüpfung mit Consul (über Anmerkungen) schlägt die Erstellung der Consul-Init-Container jedoch fehl.

 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

Antwort1

So wie die Azure-Richtlinie für Kubernetes funktioniert, müssen Sie für jeden Container explizit angeben, dass der allowPrivilegeEscalationWert auf „false“ gesetzt wird. Es reicht nicht aus, wenn der Container dies nicht erfordert, dies muss im Manifest festgelegt werden.

Sie müssen also Ihre Konsolenbereitstellung ändern, um sicherzustellen, dass dies auf den Sidecar-Pods festgelegt wird. Ich bin nicht so vertraut mit Consul, aber wenn es mit Helm bereitgestellt wird, sehen Sie sich die Optionen in der Wertedatei an, um zu sehen, ob Sie dies festlegen können.

verwandte Informationen