1) Один
Kubernetes кластер.2) Данный кластер имеет Multi-Tenancy на уровне
namespaces. Тоесть отдельные окружения (DEV,TEST,STAGE,PROD) это просто отдельные namespaces.3) Разрешено использовать
images только с внутренних/разрешенных Image Registry для повышения безопасности.4) По
best practices для каждого окружения (DEV,TEST,STAGE,PROD - в нашем случае это namespaces) должен быть отдельный Image Registry - иначе можно получить, на пример, что то такое.Как такое организовать?
Конечно, с помощью PolicyEngine! В качестве примера рассмотрим на Kyverno, который позволяет это сделать 2 способами:
1) Берем "Restrict Image Registries" политику и делаем ее
kind не ClusterPolicy, а просто Policy и указываем в каком namespace она должна действовать и так для каждого namespace будет своя политика.2) Берем "Advanced Restrict Image Registries" политику, добавляем соответствующие
annotation к namespaces и создаем специальный ConfigMap. Данная политика хоть и ClusterPolicy, но умеет учитывать информацию из сторонних источников, где указано какие Image Registry в каких namespaces разрешены.При такой организации уровень безопасности в кластере будет еще выше!