Учетная запись службы по умолчанию для конвейера Gitlab не имеет разрешения перечислять службы в кластере kubernetes - PullRequest
0 голосов
/ 25 марта 2020

Я подключил кластер kubernetes к репозиторию Gitlab и установил бегун. Когда я пытаюсь перечислить все службы в одном и том же пространстве имен, где создаются модули, я получаю сообщение об ошибке отказа в доступе.

Мне нужно либо обновить учетную запись службы по умолчанию, либо использовать настраиваемую учетную запись службы для заданий. кто делает задачу Однако я не могу найти способ сделать это.

Часть кода в .gitlab-ci.yaml:

deploy-dev:
  stage: deploy-dev
  environment:
    name: dev
  image: roffe/kubectl:v1.13.0
  script:
    - kubectl get svc -n $CI_ENVIRONMENT_NAME

Сообщение об ошибке:

Error from server (Forbidden): services is forbidden: User "system:serviceaccount:my-dev:my-dev-service-account" cannot list resource "services" in API group "" in the namespace "dev"

Обратите внимание, что my-dev: my-dev-service-account - это учетная запись службы по умолчанию, используемая gitlab для этой работы. Также обратите внимание, что я пытался с KUBERNETES_SERVICE_ACCOUNT_OVERWRITE: опция ci-service-account; однако задание по-прежнему использует учетную запись службы по умолчанию. Не могли бы вы помочь мне здесь?

1 Ответ

0 голосов
/ 26 марта 2020

По умолчанию gitlab-runner не позволяет переопределить служебную учетную запись с помощью переменной среды KUBERNETES_SERVICE_ACCOUNT_OVERWRITE.

Передали ли вы --kubernetes-service_account_overwrite_allowed=true при регистрации бегуна kubernetes? Это может быть то, чего здесь не хватает.

См. Документацию по бегунам Kubernetes для всех параметров, которые вы можете передать во время регистрации.

...