如何在属于另一个名称空间的部署Yaml中指定serviceAccount(在默认名称空间中创建)

时间:2020-06-11 11:39:06

标签: kubernetes

我已经在默认名称空间中创建了一个serviceaccount( dm-sa ),并在clusterRole(绑定到PodSecurityPolicy)和clusterRoleBinding中使用了该serviceaccount。 接下来,在部署yaml(将在命名空间“ dm”中运行)中,我在template:spec下指定了serviceAccount:dm和serviceAccountName:default。这样,kubernetes会在名称空间 dm 下搜索 dm-sa ,而不是 默认下查找命名空间。如何解决这个问题。请帮忙。

模板: 规格: automountServiceAccountToken:true serviceAccount:dm-sa serviceAccountName:默认值

1 个答案:

答案 0 :(得分:1)

通常,当Kubernetes对象相互引用时,它们需要位于同一命名空间中。如果部署管理一个Pod,并且该Pod引用了ConfigMap,Secret,ServiceAccount和PersistentVolumeClaim,则所有这些都必须位于同一命名空间中。

我要在目标(dm)命名空间中重新部署服务帐户。如果您不使用服务帐户,则可以在default命名空间中删除它。