При включенном аддоне политики 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
Для работы политики Azure для Kubernetes необходимо явно объявить для каждого контейнера значение allowPrivilegeEscalation
равным false. Недостаточно, чтобы контейнер не требовал этого, это нужно указать в манифесте.
Итак, вам нужно изменить развертывание консоли, чтобы убедиться, что это установлено на боковых модулях. Я не очень хорошо знаком с Consul, но если он развертывается с помощью Helm, посмотрите параметры в файле значений, чтобы узнать, можете ли вы установить это.