Gitlab管道的默认服务帐户无权在kubernetes集群上列出服务

问题描述 投票:0回答:1

我已经将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选项;但是,作业仍使用默认服务帐户。您能在这里帮助我吗?

gitlab-ci-runner
1个回答
0
投票

默认情况下,gitlab-runner防止您使用KUBERNETES_SERVICE_ACCOUNT_OVERWRITE环境变量来覆盖服务帐户。

[注册Kubernetes运行程序时是否通过了--kubernetes-service_account_overwrite_allowed=true?这可能是这里所缺少的。

See the documentation on Kubernetes runners表示您可以在注册时传递的所有参数。

© www.soinside.com 2019 - 2024. All rights reserved.