Автоматическое создание ресурсов / объектов с созданием пространства имен в Kubernetes

Я пытаюсь найти способ? Если я создаю новое пространство имен, я хочу, чтобы оно автоматически создавало правило RBAC для этого serviceaccount.

Я знаю, что один из способов - создать оператора, чтобы было событие, которое отслеживается сервером согласования / api, и он создает ресурсы на основе CRD. Есть ли другой путь?

2 ответа

Хотя это на самом деле не предназначено для такого рода вещей, вы можете использовать контроллеры доступа (https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/) для достижения чего-то подобного.

По своей природе контроллер допуска вызывается до того, как существует пространство имен, и вам нужно будет дождаться завершения его создания, чтобы создать объекты в этом пространстве имен. Для этого необходимо завершить вызов контроллера доступа, иначе пространство имен не может быть создано. Т.е. вызывая вторую службу, которая ждет фактического создания пространства имен.

Я задал здесь аналогичный вопрос: автоматически создавать ресурсы Kubernetes после создания пространства имен (в то время я не нашел ваших).

В итоге я написал контроллер, который делает именно то, что вам нужно: https://github.com/blakelead/nsinjector

Короче говоря, вы развертываете настраиваемый ресурс, определяющий ресурсы для развертывания и шаблоны для имен пространств имен, на которые вы хотите ориентироваться.