Поиск Helm 3 не дает результатов от ACR

Сама проблема

Получил реестр контейнеров Azure как хранилище изображений и диаграмм. Предположим, что это myacr.azurecr.io с 8 нажатыми различными диаграммами. Насколько я читал ранее, Azure ACR может хранить диаграммы и совместим с Helm 3 (версия 3.5.2).

введите описание изображения здесь Воспроизвести следующие шаги очень просто.

  1. helm repo add myacr https://myacr.azurecr.io/helm/v1/repo --username myusername -password admin123 — добавлено репо. OK.
  2. helm chart save ./my-chart/ myacr.azurecr.io/helm/my-chart:1.0.0 — график сохранен. Ok
  3. helm push ./my-chart/ myacr.azurecr.io/helm/my-chart:1.0.0 — нажал. Доступно на портале Azure. OK.
  4. helm repo update — что здесь могло пойти не так? Как и ожидалось. Ok
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "ingress-nginx" chart repository
...Successfully got an update from the "jetstack" chart repository
...Successfully got an update from the "myacr" chart repository
Update Complete. ⎈Happy Helming!⎈
  1. helm search repo -l — я вижу все из ingress-nginx и jetstack, но ничего из myacr в списке. Но если я делаю pull и export, все работает нормально — диаграмма на месте

Что я пробовал

  • переименование имени репо в helm / {app} в соответствии с некоторыми теориями в сети — неудача
  • схема перенастройки с полными описаниями и т. д. по ingress-nginx — неуспешно
  • выполнение helm search repo -l --devel, чтобы увидеть все возможные версии графиков — не повезло
  • Отключение и повторное включение — удаление и повторное добавление репо с разными комбинациями — сбой
  • явный сленг при каждой попытке — немного нагревает, но не решает проблему

Вопросы

  1. Полностью ли Azure ACR совместим с Helm 3?
  2. Есть ли какое-то конкретное решение, чтобы сделать его совместимым с Helm 3?
  3. Есть ли у функции поиска какие-либо требования к структуре или версии диаграммы?
См. также:  Как сгенерировать код с помощью генератора кода для определения настраиваемого ресурса

Таким образом, похоже, что helm search извлекает файл index.yaml из удаленного репо, сохраняет его локально (в ~ / .cache / helm / repository) и выполняет поиск на основе сохраненного файла индекса. Похоже, helm chart push НЕ обновляет index.yaml. Из того, что я прочитал в документации по новым OCI-совместимым репозиториям helm, похоже, что они полностью уходят от файлов index.yaml.   —  person Artem Fomin    schedule 10.03.2021

Это объясняет, почему поиск helm не работает таким образом, но работает, когда вы выполняете az acr helm push (потому что az cli явно регенерирует index.yaml).   —  person Artem Fomin    schedule 10.03.2021

Вместо этого новый поиск helm должен будет проверять ~ / .cache / helm / registry / cache / index.json.   —  person Artem Fomin    schedule 10.03.2021

Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 1
  1. Artem Fomin

    Полностью ли Azure ACR совместим с Helm 3?

    Да, он полностью совместим с Helm 3.

    Есть ли какое-то конкретное решение, чтобы сделать его совместимым с Helm 3?

    Ничего не нужно делать, потому что первый вопрос — да.

    Есть ли у функции поиска какие-либо требования к структуре или версии диаграммы?

    Сначала вам нужно добавить репо в локальный штурвал с помощью команды az acr helm repo add --name myacr или helm repo add myacr https://myacr.azurecr.io/helm/v1/repo --username xxxxx --password xxxxxx, а затем вы получите такой вывод, выполнив команду helm search repo -l:

    введите описание изображения здесь

    А локальное репо выглядит так:

    введите описание изображения здесь

    Моя проблема — не упомянул рассматриваемый шаг (отредактирую), но, конечно, я добавил репо. После этого ответ удалил его и добавил с учетными данными и без. По-прежнему пустой список графиков именно из этого. Я вижу все диаграммы от ingress-nginx и jetstack. Также попробовал helm search repo -l --devel включить все существующие версии. Не повезло, но все равно спасибо person Artem Fomin; 10.03.2021

    @ArtemFomin Как вы помещаете графики в ACR? Используете ли вы Azure CLI и проверяете ли ACR, если в нем уже есть диаграммы? person Artem Fomin; 10.03.2021

    Неа. Нет Azure CLI. Только с помощью инструментов Helm. helm save .., затем helm push ..., как описано person Artem Fomin; 10.03.2021

    @ArtemFomin Вы проверяете, есть ли графики в ACR? person Artem Fomin; 10.03.2021

    Конечно. Они находятся в ACR на портале Azure, и ACR распознает их как диаграммы Helm. person Artem Fomin; 10.03.2021

    @ArtemFomin Можете ли вы поделиться скриншотами ваших графиков в ACR и репозиториев в вашем регионе? Может, команда az acr helm list --name myacr поможет. person Artem Fomin; 10.03.2021

    Поделился снимком экрана в первоначальном вопросе. az acr helm list --name myacr возвращает пустой список и снова предупреждает, что This command is implicitly deprecated because command group 'acr helm' is deprecated and will be removed in a future release. Use 'helm v3' instead person Artem Fomin; 10.03.2021

    @ArtemFomin Это означает, что графика не существует в ACR. Вы можете использовать команду az acr helm push --name myacr example.tgz tp для перемещения графика в ACR. Затем выполните поиск по карте с помощью команды helm. И попробуйте обновить репо командой helm repo update. person Artem Fomin; 10.03.2021

    Как упоминалось выше command group 'acr helm' is deprecated, поэтому, даже если он скоро поможет, он будет удален и имеет смысл понять, почему CLI Helm 3 не работает так, как ожидалось. На самом деле конвейер работает — я просто извлекаю и экспортирую диаграмму, а затем использую ее как файл, но чистый способ — установить ее прямо из ACR, не играя с временными решениями. person Artem Fomin; 10.03.2021

    @ArtemFomin Вы можете понять пример здесь просто используйте ACR как репозиторий для хранения диаграммы, и он отличается от репозитория диаграмм. Вы можете использовать параметр --debug после команды az acr helm push, чтобы увидеть разницу. Возможно, позже Azure заставит его работать только с командой Helm, но теперь это работает, как я сказал. person Artem Fomin; 10.03.2021

    @ArtemFomin Есть новости по этому вопросу? person Artem Fomin; 12.03.2021

    Не совсем. Согласно статье MS эта функция в настоящее время не включен в ACR. Служба поддержки MS говорит то же самое person Artem Fomin; 18.03.2021

    @ArtemFomin Итак, я даю правильный ответ. Если вы не против, пожалуйста, примите это. person Artem Fomin; 19.03.2021

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: