Автоматическое создание ресурсов / объектов с созданием пространства имен в Kubernetes
Я пытаюсь найти способ? Если я создаю новое пространство имен, я хочу, чтобы оно автоматически создавало правило RBAC для этого serviceaccount.
Я знаю, что один из способов - создать оператора, чтобы было событие, которое отслеживается сервером согласования / api, и он создает ресурсы на основе CRD. Есть ли другой путь?
2 ответа
Хотя это на самом деле не предназначено для такого рода вещей, вы можете использовать контроллеры доступа (https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/) для достижения чего-то подобного.
По своей природе контроллер допуска вызывается до того, как существует пространство имен, и вам нужно будет дождаться завершения его создания, чтобы создать объекты в этом пространстве имен. Для этого необходимо завершить вызов контроллера доступа, иначе пространство имен не может быть создано. Т.е. вызывая вторую службу, которая ждет фактического создания пространства имен.
Я задал здесь аналогичный вопрос: автоматически создавать ресурсы Kubernetes после создания пространства имен (в то время я не нашел ваших).
В итоге я написал контроллер, который делает именно то, что вам нужно: https://github.com/blakelead/nsinjector
Короче говоря, вы развертываете настраиваемый ресурс, определяющий ресурсы для развертывания и шаблоны для имен пространств имен, на которые вы хотите ориентироваться.