Kubernetes, автоматический сервис откат к другому пространству имен
У меня есть несколько сред, представленных несколькими пространствами имен в моих kubernetes.
Все приложения имеют свои конечные точки службы, определенные в каждом пространстве имен. И у нас есть три окружения, dev, alpha и beta. (Что эквивалентно dev, test и stage). Эти среды являются постоянными, что означает, что все приложения работают там.
Сейчас в моей команде мало параллельных разработок, для которых мы планируем создать несколько сред для релиза и в которых будет только несколько приложений, которые являются частью этого релиза.
Давайте подумаем об этом примере: я создаю feature1 и оказываю влияние на app1 и app2
Есть 10 других приложений, которые не оказывают никакого влияния.
Поэтому для моей разработки и параллельного тестирования большинства сервисов я должен указать на существующие альфа или бета env и указать только app1 и app2 в пространстве имен.
Я мог бы добиться этого, имея сопоставление ExternalName для всех других служб.
Но если у меня есть более 100 сервисов и управление внешней конечной точкой в yaml, я чувствую себя очень сложно.
Есть ли способ, которым я могу направить весь трафик в другое пространство имен (если не существует службы с таким именем.)
Есть ли способ для глобального ExternalName для пространства имен?
1 ответ
Насколько я знаю, невозможно перенаправить трафик в другое пространство имен на основе существующих модулей или служб в текущем пространстве имен. Вы можете выбрать пункт назначения для Сервиса только путем изменения его конфигурации YAML, и можно выбирать только модули в одном и том же пространстве имен.
Вы можете упростить процедуру развертывания, используя диаграммы Хелма. Это позволяет вам помещать переменные в YAML-конфигурацию Deployments, Services и т. Д., А также использовать отдельный файл значений для их замены во время установки в кластер. Вот ссылка на сообщение в блоге об использовании Helm для развертывания в Kubernetes