Проблема
Для группы проектов в GitLab настроена интеграция с единственным Kubernetes-кластером. Однако, внутри job-ов CI/CD переменные $KUBE_URL и $KUBE_TOKEN имеют пустые значения, из-за чего невозможно сконфигурировать kubectl для работы с кластером Kubernetes.
Решение
Для job'а, в котором нужны переменные $KUBE_URL и $KUBE_TOKEN, должен быть определен environment (любой, т.к. при единственном привязанном Kubernetes-кластере он применяется для любого environment'а). Например:
deploy:
stage: deploy
environment:
name: production # needed for KUBE_* variables to be materialized
script:
- kubectl config set-cluster mycluster --server="$KUBE_URL" --certificate-authority="$KUBE_CA_PEM_FILE"
- kubectl config set-credentials gitlab-admin --token="$KUBE_TOKEN"
- kubectl config set-context default --cluster=mycluster --user=gitlab-admin
- kubectl config use-context default
- echo "Deployment started"
- kubectl apply -f my-deployment.yaml
- echo "Deployment succeeded"
only:
- master
Комментариев нет:
Отправить комментарий