#kubernetes
#kubernetes
Вопрос:
Например, у меня есть три приложения, которые я хочу развернуть, а также база данных. При запуске на компьютере разработчика ( docker-for-desktop
контекст) или в кластере интеграции или тестирования я бы хотел запускать по 2 копии каждого приложения, плюс иметь контейнер SQL, к которому все они подключаются. В промежуточном режиме или в рабочей среде я хочу иметь возможность устанавливать реплики в соответствии с потребностями трафика, и я хочу подключиться к другому (внешнему) серверу SQL.
Затем я бы хотел, чтобы эти файлы yaml хранились в системе управления версиями, поэтому, в зависимости от вашего env, он использует правильный контекст и «создает» все файлы yaml.
Возможно ли это с помощью контекстов? Или это проблема пространства имен? Или мне просто нужно иметь файлы yaml в отдельных папках ( local
папка, staging
скоросшиватель, production
скоросшиватель) и иметь копии файлов yaml в каждой папке. Или, может быть, какой-то другой вариант?
Ответ №1:
Существует несколько вариантов поддержания одного и того же набора файлов YAML для разных конфигураций, например:
Вы можете использовать эти инструменты для сохранения конфигураций только для каждой среды в разных файлах в git.
Комментарии:
1. Спасибо за ссылки! Похоже, что ksonnet уходит, но Kustomize выглядит именно так, как мне было нужно, и Helm выглядит так же, плюс многое другое. Я углублюсь в эти два.
2.
Helm
имеет широкое сообщество, и это зрелый инструмент. На всякий случай у всех инструментов есть один недостаток — они не могут создавать образы контейнеров. это не проблема, если вы полагаетесь на настроенный частный реестр и CI. НоSkaffold
это могло бы помочь с подключением локальной разработки, сборкой образов и обновлением ресурсов k8s в кластере.