Чтобы обновить диаграмму Helm, вы можете использовать несколько методов в зависимости от ваших конкретных требований и среды, в которой вы работаете. Вот некоторые распространенные методы с примерами кода:
Метод 1: использование команды обновления Helm
Самый простой способ обновить диаграмму Helm — использовать команду helmupgrade. Этот метод предполагает, что вы уже установили диаграмму и развернули выпуск.
helm upgrade <release-name> <chart-name> [flags]
Пример:
helm upgrade my-release stable/nginx-ingress
Метод 2: обновление значений диаграммы
Вы также можете обновить диаграмму Helm, изменив значения диаграммы, а затем применив изменения с помощью команды helm update. Этот метод полезен, если вы хотите настроить конфигурацию диаграммы.
helm upgrade <release-name> <chart-name> -f <path-to-values-file> [flags]
Пример:
Предполагая, что у вас есть файл values.yaml, содержащий обновленные значения, вы можете запустить:
helm upgrade my-release stable/nginx-ingress -f values.yaml
Метод 3: использование Helmfile
Helmfile — это декларативная спецификация для развертывания диаграмм Helm. Это позволяет вам определять и управлять несколькими выпусками в одном файле. Используя Helmfile, вы можете легко обновить свои диаграммы.
Пример Helmfile.yaml:
releases:
- name: my-release
chart: stable/nginx-ingress
version: 1.2.3
Чтобы обновить диаграмму, вы можете изменить поле версии в файле Helmfile и запустить:
helmfile sync
Метод 4: использование подхода GitOps с Flux
Если вы используете подход GitOps с Flux, вы можете обновить свои диаграммы Helm, зафиксировав изменения в своем репозитории Git. Flux автоматически обнаружит изменения и применит их к вашему кластеру.
Пример:
Предполагая, что у вас есть выпуск Helm, определенный в манифесте HelmRelease, вы можете обновить версию диаграммы и зафиксировать изменения в репозитории Git.
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: my-release
namespace: my-namespace
spec:
releaseName: my-release
chart:
spec:
chart: stable/nginx-ingress
version: 1.2.3
После внесения изменений Flux согласует состояние вашего кластера и соответствующим образом обновит версию Helm.