Мы используем Auto DevOps от Gitlab на Gitlab.com с подключенным кластером Kubernetes. До недавнего времени мы работали на Azure, но теперь решили перейти на digitalocean. Конвейер сборки / развертывания раньше работал нормально в Azure, но когда я запускаю его сейчас на нашем новом кластере, я получаю эту ошибку во время «производственного» задания:
$ auto-deploy deploy
secret/production-secret replaced
Deploying new release...
Release "production" does not exist. Installing it now.
Error: validation failed: unable to recognize "": no matches for kind
"Deployment" in version "extensions/v1beta1"
ERROR: Job failed: exit code 1
После выполнения некоторого поиска в Google,Я нашел это объявление о выпуске для Kubernetes 1.16, в котором говорится, что ресурс Deployment был перемещен из расширений / v1beta1 в (в конечном итоге) apps / v1 и, что более важно, был удален из расширений / *:
https://kubernetes.io/blog/2019/09/18/kubernetes-1-16-release-announcement/
Версия Kubernetes, используемая в digitalocean, действительно 1.16.2. Я не помню версию, которую мы использовали в Azure, но, судя по дате статьи, версия 1.16 несколько нова (сентябрь 2019 года).
Насколько я могу судить, алгоритм развертывания реализован внутри Gitlab "auto-deploy "образ, в частности этот скрипт , но я не вижу, где я могу адаптировать конкретные kubectl
выполняемые команды.
Мой вопрос таков: я прав, предполагаячто эта проблема вызвана тем, что Gitlab CI / CD использует нотацию до 1.16 для автоматического создания развертываний в кластерах Kubernetes? Если да, как я могу адаптировать сценарий развертывания для использования области apps / v1?