Подграфик как обновить только Helm

У меня есть несколько подсхем под одной рулевой картой. Я устанавливаю их с помощью команды

      helm install my-app . --values values.dev.yaml

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

поэтому, когда для обновления одного, скажите, что интерфейсная под-диаграмма от него. Я старался

      helm upgrade my-app ./charts/frontend --values values.dev.yaml.

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

2 ответа

Просто беги на диаграмме верхнего уровня обычно

      rm requirements.lock
helm dependency update
helm upgrade my-app . -f values.dev.yaml

Это приведет к «повторному развертыванию» всей диаграммы, включая все ее поддиаграммы, но Helm знает, что нельзя повторно отправлять неизмененные объекты в Kubernetes, а Kubernetes знает, что не нужно предпринимать никаких действий при отправке немодифицированного объекта.

Подграфы Helm имеют некоторые ограничения; в дополнение к тому, что вы здесь описываете о невозможности отдельно управлять версиями поддиаграмм, они также будут сглаживать рекурсивные зависимости вместе (если A зависит от B, зависит от Redis, а A зависит от C зависит от Redis, B и C будут совместно использовать одиночная установка Redis и может конфликтовать). Если вам нужно отдельно управлять версиями, рассмотрите возможность установки диаграмм как отдельных выпусков верхнего уровня.

Если ваши поддиаграммы являются зависимостями сторонних производителей (т. Е. Вы объединяете несколько диаграмм в одну диаграмму), вы можете обновить внешние диаграммы, обновив зависимости Helm:

Попав в директорию Helm chart, где живет, бегите

      $ helm dependency update

Чтобы убедиться, что у вас установлена ​​последняя зависимость, сначала обновите репозитории Helm:

      $ helm repo update && helm dependency update

Это загрузит последние зависимые диаграммы (или самые последние разрешенные, в зависимости от вашего Chart.yaml config.

Обратите внимание, что helm dependency updateзагрузит файлы в формате txz. Если не будет предпринято никаких действий (то есть игнорировать их в git), они могут оказаться управляемыми версиями в вашем репозитории git.

Другие вопросы по тегам