обновить вход k8s через сервисный аккаунт

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

Хотелось бы это автоматизировать.

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

Я бы сделал это через учетную запись службы, которая управляет этими входами. Есть ли какие-либо передовые методы для этого или есть контроллеры входящего трафика, у которых уже есть API для этого?


person errnesto    schedule 07.09.2020    source источник


Ответы (1)


Контроллеры Ingress не имеют для этого API, и в этом нет необходимости. Вам нужно будет вызвать kubernetes REST API, чтобы обновить входящий ресурс. Вы можете использовать клиентские библиотеки kubernetes, доступные на нескольких языках, чтобы выполнить это с помощью учетной записи службы или файла kubeconfig.

Вам нужно будет определить RBAC с помощью роли и привязки ролей для авторизации учетной записи службы или пользователя, используемого для вызова REST API.

Используйте PUT или PATCH, чтобы изменить хост в API ниже

/apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses

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

person Arghya Sadhu    schedule 07.09.2020