Deployment Safeguards в AKS: нативний контроль якості маніфестів
Microsoft викотили Deployment Safeguards для AKS. По суті, це вбудований механізм, який автоматизує перевірку ваших маніфестів на відповідність best practices Kubernetes. Більше не треба прикручувати OPA Gatekeeper чи Kyverno для базових речей — тут це працює «з коробки» через Azure Policy.
Як це працює
Це Admission Controller. Коли ви робите kubectl apply, AKS перехоплює запит і перевіряє YAML на наявність типових «гріхів»: відсутність лімітів ресурсів, прав root у контейнері або забуті проби доступності.

Є два рівні суворості (tiers):
- Warning (Попередження)
- Підходить для існуючих кластерів. Якщо маніфест кривий, деплой пройде, але в термінал і логи прилетить ворнінг. Хороший варіант, щоб оцінити масштаб проблем, нічого не ламаючи.
- Enforcement (Примус)
- Mutate: Сама дописує відсутні параметри (наприклад, додає дефолтні реквести).
- Validate: Якщо виправити автоматом не можна — блокує деплой і повертає помилку.
- Для нових проєктів або там, де потрібен порядок. Працює у двох режимах:
Що саме перевіряє?
Список правил (v2.0.0) покриває базу, про яку часто забувають розробники:
- Ресурси: чи прописані
requestsтаlimitsCPU/Memory. - Стабільність: наявність
PodDisruptionBudgets,livenessтаreadinessпроб. - Безпека: заборона привілейованих контейнерів, використання root user.
- Образи: ворнінг на тег
:latest.
Як увімкнути
Вмикається через CLI однією командою. Можна одразу зафіксувати версію політик, щоб оновлення від Microsoft раптово не поклали ваші пайплайни.
Новий кластер (режим Warning):
Bash
az aks create--resource-group myRG --name myAKS --safeguards-level Warning --safeguards-version v2.0.0
Апдейт існуючого (режим Enforcement):
Bash
az aks create--resource-group myRG --name myAKS --safeguards-levelEnforcement--safeguards-version v2.0.0
Виключення (Exclusions)
Бувають ситуації, коли треба порушити правила (наприклад, специфічні оператори чи легасі). Можна виключити конкретні неймспейси з перевірки:
Bash
az aks update --resource-group myRG --name myAKS--safeguards-excluded-ns my-legacy-app
Системні неймспейси типу kube-system ігноруються за дефолтом.
Короткий висновок
Інструмент корисний, щоб швидко підняти «гігієну» в кластері без написання кілометрів Rego-коду для OPA. Для старту я б радив ставити Warning, фіксити помилки, а потім перемикати на Enforcement.

Немає коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів