#openshift #kubernetes-helm
Вопрос:
Я загрузил диаграмму управления в качестве контейнера, совместимого с OCI, в Openshift. Однако я не могу добавить реестр openshift в качестве репозитория helm или найти другой способ убедить helm использовать «поток изображений» в качестве источника для установки.
export HELM_EXPERIMENTAL_OCI=1
oc whoami --show-token | helm registry login my-cluster.com -u $(oc whoami) --password-stdin
helm create mychart
cd mychart/
helm chart save . my-cluster.com/$(oc project -q)/mychart:latest
helm chart push my-cluster.com/$(oc project -q)/mychart:latest
И это создает поток изображений «mychart» с dockerImageManifestMediaType: application/vnd.oci.image.manifest.v1 json
Но всякий раз, когда я пытаюсь добавить my-cluster.com в качестве репо или установки любым другим способом, это просто выдает мне ошибку 404 :
helm install --username $(oc whoami) --password $(oc whoami --show-token) --repo https://my-cluster.com/$(oc project -q) mychart chart
Error: looks like "https://my-cluster.com/project" is not a valid chart repository or cannot be reached: failed to fetch https://my-cluster.com/project/index.yaml : 404 Not Found
Потребуется ли реестру сделать что-то «умное», чтобы создать index.yaml, который отсутствует в реестре Openshift?
Ответ №1:
диаграмма руля-это не то же самое, что контейнер, совместимый с OCI! диаграмма руля в основном представляет собой сжатый каталог с заданным макетом.
Тем не менее, можно разместить музей карт на openshift, перенести свои диаграммы в указанный музей карт, а затем добавить его в качестве хранилища руля.
смотрите репозиторий chartmuseum на github для получения дополнительной информации о том, как разместить свой собственный chartmuseum, а также этот учебник о том, как именно должна выглядеть диаграмма и как перенести ее в размещенный вами chartmuseum.
Комментарии:
1. Извините, не контейнер. «Артефакт». Я бы предпочел не устанавливать то, чем мне нужно управлять, получать одобрение и выяснять аутентификацию и т. Д. И т. Д. Когда я мог просто поместить его в существующий реестр и предоставить разрешение другому пространству имен (что я уже сделал для чтения изображений контейнеров). Корпоративная политика жестка в отношении новых приложений по сравнению с тем, что уже существует. Если бы это сработало, то сделало бы мою жизнь намного проще. Если это не так : графики остаются в нашем корпоративном репо git.
2. Диаграммы руля-это артефакты oci : aws.amazon.com/blogs/containers/…
3. На самом деле только что обнаружил, что у redhat есть локально развертываемая версия quay. ио, который бы это сделал, и будучи из редхата, легче получить одобрение, чем чартмусуем. openshift.com/blog/quay-oci-artifact-support-for-helm-charts
Ответ №2:
Я понял, что тебе нужно сделать :
helm chart pull registry/mychart:tag
helm chart export registry/mychart:tag .
Чтобы ваша диаграмма находилась в текущем каталоге. И тогда вы сможете :
helm install release mychart
Существует PR для будущих версий helm, чтобы выполнить установку чего-то вроде oci://registry/mychart:сохранение тегов в несколько шагов. Я полагаю, что это разница между реестром и репозиторием, которая вызывала у меня проблемы.
Абсолютно нет необходимости в chartmuseum или других сторонних приложениях.