我已经在默认名称空间中创建了一个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:默认值
答案 0 :(得分:1)
通常,当Kubernetes对象相互引用时,它们需要位于同一命名空间中。如果部署管理一个Pod,并且该Pod引用了ConfigMap,Secret,ServiceAccount和PersistentVolumeClaim,则所有这些都必须位于同一命名空间中。
我要在目标(dm
)命名空间中重新部署服务帐户。如果您不使用服务帐户,则可以在default
命名空间中删除它。