Подграфик как обновить только 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.