При установке helm
диаграмму напрямую (с помощью штурвала 3) или с помощью helm
поставщик в terraform
выдается та же ошибка, что означает сбой загрузки, например:
Error: failed to download "https://agones.dev/chart/stable/agones-1.7.0.tgz" (hint: running `helm repo update` may help)
Запуск обновления репо не имеет никакого эффекта, равно как и удаление кеша, попытки другого выпуска, разные версии Helm 3. Однако wget
(или аналогичный) не имеет проблем с получением диаграммы, и содержимое диаграммы выглядит правильно, и даже устанавливается при запуске как локальный файл, а не при удаленной загрузке.
Однако это нельзя использовать в качестве обходного пути в случае чего-то вроде helm
поставщик в terraform, который ожидает репозиторий и не принимает file://
как протокол для этого определения. Как это исправить навсегда, чтобы с терраформом снова "просто работало"?
Ошибку здесь очень сложно отладить в Terraform
но тот факт, что это не удается при прямой установке, позволяет получить дополнительную информацию, добавив --debug
флаг к команде:
helm --debug install agones https://agones.dev/chart/stable/agones-1.7.0.tgz -n agones-system
Теперь ошибка стала более подробной, и причина стала очевидной:
Error: no cached repo found. (try 'helm repo update'): open ~/.cache/helm/repository/local-index.yaml: no such file or directory
Локальный кеш, как определено в ~/.config/helm/repositories.yaml
пропал, отсутствует. Вероятная причина этого - helm
Обновление с v2 до v3 или, возможно, ошибка в начальной конфигурации репозитория, ее можно исправить, создав файл следующим образом:
cp ~/.helm/repository/local/index.yaml ~/.cache/helm/repository/local-index.yaml
После копирования файла все операции управления должны вернуться в нормальное состояние. Если по какой-либо причине у вас нет копии файла, его очень легко создать с нуля, вот как выглядело мое содержимое:
apiVersion: v1
entries: {}
generated: "2020-07-14T18:21:24.471657624+01:00"
Просто создайте файл вручную с соответствующей отметкой времени, и ваши ошибки должны исчезнуть.
Примечание: изначально был дан ответ Вот (я тоже), добавив в ServerFault для облегчения обнаружения