Сама проблема
Получил реестр контейнеров Azure как хранилище изображений и диаграмм. Предположим, что это myacr.azurecr.io с 8 нажатыми различными диаграммами. Насколько я читал ранее, Azure ACR может хранить диаграммы и совместим с Helm 3 (версия 3.5.2).
Воспроизвести следующие шаги очень просто.
helm repo add myacr https://myacr.azurecr.io/helm/v1/repo --username myusername -password admin123— добавлено репо. OK.helm chart save ./my-chart/ myacr.azurecr.io/helm/my-chart:1.0.0— график сохранен. Okhelm push ./my-chart/ myacr.azurecr.io/helm/my-chart:1.0.0— нажал. Доступно на портале Azure. OK.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!⎈
helm search repo -l— я вижу все изingress-nginxиjetstack, но ничего изmyacrв списке. Но если я делаюpullиexport, все работает нормально — диаграмма на месте
Что я пробовал
- переименование имени репо в helm / {app} в соответствии с некоторыми теориями в сети — неудача
- схема перенастройки с полными описаниями и т. д. по
ingress-nginx— неуспешно - выполнение
helm search repo -l --devel, чтобы увидеть все возможные версии графиков — не повезло - Отключение и повторное включение — удаление и повторное добавление репо с разными комбинациями — сбой
- явный сленг при каждой попытке — немного нагревает, но не решает проблему
Вопросы
- Полностью ли Azure ACR совместим с Helm 3?
- Есть ли какое-то конкретное решение, чтобы сделать его совместимым с Helm 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
