#kubernetes-helm #helm3
Вопрос:
Возьмите зонтичную диаграмму, umbrella_chart, с одним подразделом, sub_chart:
umbrella_chart имеет зависимости, определенные следующим образом в его диаграмме.yaml:
apiVersion: v2
name: umbrella_chart
description: A Helm chart for Kubernetes
type: application
version: 0.1.0
appVersion: 0.1.0
dependencies:
- name: sub_chart
version: "~0.1.0"
repository: "@local-development"
И у sub_chart есть диаграмма.ямл, как:
apiVersion: v2
name: sub_chart
description: A Helm chart for Kubernetes
type: application
version: 0.1.0
maintainers:
- name: Me
appVersion: 0.1.0
В рамках моего конвейера CI/CD я хочу добавить номер сборки Дженкинса к номеру версии sub_chart, прежде чем упаковывать и нажимать. Это прекрасно работает. Для сборки 123 я получаю версию 0.1.0-123, переведенную на локальную разработку.
helm search repo --versions --devel
NAME CHART VERSION APP VERSION DESCRIPTION
local-development/sub_chart 0.1.0-123 0.1.0 A Helm chart for Kubernetes
Однако при запуске helm dep up umbrella_chart
я получаю следующую ошибку:
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "local-development" chart repository
Update Complete. ⎈Happy Helming!⎈
Error: can't get a valid version for repositories sub_chart. Try changing the version constraint in Chart.yaml
Я думал, что использование тильды позволит рулю взять любую версию диаграммы >0.1.0 и > Нужно ли мне иметь версию 0.1.0 sub_chart в моем репозитории, чтобы иметь возможность создавать umbrella_chart? Будет ли он использовать правильную версию sub_chart 0.1.0-123 в этом случае?
Спасибо за любую помощь
Ответ №1:
Похоже, что мои зависимости не были правильно определены для приема предварительных выпусков, я основал свое исправление на этом.
Моя новая диаграмма/диаграмма umbrella_chart.yaml выглядит так:
apiVersion: v2
name: umbrella_chart
description: A Helm chart for Kubernetes
type: application
version: 0.1.0
appVersion: 0.1.0
dependencies:
- name: sub_chart
version: "~0.1.0-0"
repository: "@local-development"
И он правильно подбирает пререлизы.