如何在 k8s 中使用 efs.csi.controller 修复此错误

如何在 k8s 中使用 efs.csi.controller 修复此错误

我正在尝试在 kubernetes 下设置一些 efs 卷,但是在尝试这样做时出现一些错误,当回去检查我的 efs csi 控制器日志(特别是 efs-provisioner 容器)时,我发现这个错误无限重复:

error retrieving resource lock kube-system/efs-csi-aws-com: leases.coordination.k8s.io "efs-csi-aws-com" is forbidden: User "system:serviceaccount:kube-system:efs-csi-controller-sa" cannot get resource "leases" in API group "coordination.k8s.io" in the namespace "kube-system"

对于这个错误信息或者如何修复它有什么想法吗?

答案1

kube-system 命名空间中的服务帐户 efs-csi-controller-sa 没有执行请求的操作所需的权限,特别是检索 kube-system 命名空间内的 coordinate.k8s.io API 组中的资源(租约)。

您需要向服务帐户授予适当的 RBAC(基于角色的访问控制)权限。您可以通过创建或修改 RBAC 角色和角色绑定来执行此操作。

您可能需要创建一个 ClusterRole 并将其绑定到 kube-system 命名空间中的服务帐户,请参阅此内容文档

相关内容