我已经将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-runner防止您使用KUBERNETES_SERVICE_ACCOUNT_OVERWRITE
环境变量来覆盖服务帐户。
[注册Kubernetes运行程序时是否通过了--kubernetes-service_account_overwrite_allowed=true
?这可能是这里所缺少的。
See the documentation on Kubernetes runners表示您可以在注册时传递的所有参数。