barbitoff programmer`s blog

Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)

четверг, 16 января 2020 г.

GitLab и Kubernetes: не видны переменные $KUBE_URL и $KUBE_TOKEN

Проблема

Для группы проектов в 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

Комментариев нет:

Отправить комментарий