Установка Helm не удалась из-за использования устаревшего API.

Вопрос или проблема

Я пытаюсь установить Artifactory Jfrog версии 7.12.6, но постоянно получаю следующую ошибку: Error: INSTALLATION FAILED: unable to build kubernetes objects from release manifest: [resource mapping not found for name: "jfrog-platform-postgresql" namespace: "" from "": no matches for kind "Deployment" in version "extensions/v1beta1" ensure CRDs are installed first, resource mapping not found for name: "jfrog-platform-artifactory-nginx" namespace: "" from "": no matches for kind "Deployment" in version "apps/v1beta2" ensure CRDs are installed first, resource mapping not found for name: "jfrog-platform-artifactory" namespace: "" from "": no matches for kind "StatefulSet" in version "apps/v1beta2" ensure CRDs are installed first] Похоже, что используются устаревшие версии API. Я пробовал плагин Helm mapkubeapis, но он работает только для обновления, а не для установки. Есть ли предложения, что я могу сделать, чтобы решить эту проблему?

Ответ или решение

Проблема, с которой вы столкнулись, связана с использованием устаревших API версий для развертывания ресурсов Kubernetes при установке Artifactory JFrog версии 7.12.6. Давайте разберем ваше сообщение об ошибке и найдем возможные решения для устранения этой проблемы.

Анализ ошибки

Ошибка, которую вы видите, относится к отсутствию соответствий для определенных ресурсов Kubernetes, таких как Deployment и StatefulSet. Используемые API версии:

  • extensions/v1beta1 для Deployment
  • apps/v1beta2 для Deployment и StatefulSet

Эти версии API считаются устаревшими и больше не поддерживаются в более новых версиях Kubernetes. Рекомендуемыми версиями являются:

  • apps/v1 для Deployment
  • apps/v1 для StatefulSet

Возможные решения

1. Обновление чарта Helm

Первым и наиболее прямым решением является использование обновленной версии чарта Helm для JFrog Artifactory. Убедитесь, что вы используете последнюю версию чарта, так как разработчики обычно обновляют чарты для поддержки последних версий Kubernetes. Выполните следующую команду:

helm repo update
helm search repo jfrog/artifactory

Это позволит вам найти наиболее актуальную версию чарта и установить его.

2. Изменение YAML конфигураций

Если обновление чарта недоступно или вы хотите сохранить конкретную версию, вы можете вручную изменить манифесты развертываемых ресурсов. Вам потребуется:

  1. Загрузить чарт в локальную директорию:

    helm pull jfrog/artifactory --version 7.12.6 --untar
  2. Открыть файлы конфигурации в каталоге и заменить устаревшие API версии на актуальные:

    • Замените extensions/v1beta1 на apps/v1 для Deployment.
    • Замените apps/v1beta2 на apps/v1 для Deployment и StatefulSet.
  3. Установить чарты без необходимости использования устаревших API.

3. Использование плагина mapkubeapis

Хотя вы упомянули, что плагин mapkubeapis работает только для обновлений, вы можете попробовать использовать его для подготовки манифестов перед установкой. Примените плагин следующим образом:

helm install my-release jfrog/artifactory --set useDeprecatedApi=false

Убедитесь, что параметр useDeprecatedApi установлен в false, чтобы избежать применения устаревших API.

Заключение

Ошибки, связанные с устаревшими API, являются распространенной проблемой при работе с Kubernetes и Helm. Постоянно проверяйте наличие обновлений для своих чарта Helm и используемых вами приложений, чтобы гарантировать их совместимость с последними версиями Kubernetes. Если изменения в конфигурациях вас смущают, рекомендуется обратиться к документации JFrog и Kubernetes для получения наиболее актуальных и безопасных практик.

Таким образом, определив источники проблемы и приняв предложенные меры, вы сможете успешно установить JFrog Artifactory. Если у вас остались вопросы или необходима дополнительная помощь, не стесняйтесь задавать их!

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

Капча загружается...