Kubernetes角色绑定:<名称空间>:默认更改为<名称空间>:<名称空间> -service-account

时间:2019-02-22 22:53:12

标签: kubernetes gitlab

我正在尝试通过GitLab CI / CD流程在Kubernetes集群上运行部署(即,我不控制大多数配置)。我也是Kubernetes的新手,所以如果这是基础知识并且很明显,请原谅我。

我已经创建了角色绑定:

kubectl create rolebinding [foo] --clusterrole=edit --serviceaccount=[bar]:default

并将我的令牌和所有设置添加到GitLab

但是,当部署开始时,它将始终在以下情况下失败:

Error from server (Forbidden): error when creating "/builds/bar/baz/deployment.yml": service is forbidden: User "system:serviceaccount:bar:bar-service-account" cannot create services in namespace "bar"

我认为我应该在system:serviceaccount:bar:default工作。为什么:default:bar-service-account取代和/或如何解决这个问题。

非常感谢

1 个答案:

答案 0 :(得分:1)

您正在使用创建的角色绑定向默认服务帐户授予权限。但是,部署未使用该服务帐户。如果查看部署清单,它将具有bar-service-account的serviceAccountName。

要么更改部署以使用默认服务帐户,要么更改角色绑定以向正在使用的服务帐户授予权限。