Вопрос или проблема
Я пытаюсь установить 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 конфигураций
Если обновление чарта недоступно или вы хотите сохранить конкретную версию, вы можете вручную изменить манифесты развертываемых ресурсов. Вам потребуется:
-
Загрузить чарт в локальную директорию:
helm pull jfrog/artifactory --version 7.12.6 --untar
-
Открыть файлы конфигурации в каталоге и заменить устаревшие API версии на актуальные:
- Замените
extensions/v1beta1
наapps/v1
дляDeployment
. - Замените
apps/v1beta2
наapps/v1
дляDeployment
иStatefulSet
.
- Замените
-
Установить чарты без необходимости использования устаревших 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. Если у вас остались вопросы или необходима дополнительная помощь, не стесняйтесь задавать их!