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 allowPrivilegeEscalation
Wert 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.