2

我正在尝试使用Kopf部署 Kubernetes Operator ,但出现以下错误:

kopf._cogs.clients.errors.APIForbiddenError: ('exchangerates.operators.brennerm.github.io is forbidden: User "system:serviceaccount:default:exchangerates-operator" cannot list resource "exchangerates" in API group "operators.brennerm.github.io" at the cluster scope', {'kind': 'Status', 'apiVersion': 'v1', 'metadata': {}, 'status': 'Failure', 'message': 'exchangerates.operators.brennerm.github.io is forbidden: User "system:serviceaccount:default:exchangerates-operator" cannot list resource "exchangerates" in API group "operators.brennerm.github.io" at the cluster scope', 'reason': 'Forbidden', 'details': {'group': 'operators.brennerm.github.io', 'kind': 'exchangerates'}, 'code': 403})

令人困惑的是,如果我检查授予服务帐户的权限,它看起来像是具有正确的权限:

$ kubectl auth can-i list exchangerates --as=system:serviceaccount:default:exchangerates-operator
yes
$ kubectl auth can-i list exchangerates --as=system:serviceaccount:default:exchangerates-operator --all-namespaces
yes

还有其他地方我应该寻找解决问题的方法吗?

4

1 回答 1

1

用户Sergey Vasilyev测试了这个配置,并在评论中提到:

你是对的,“*”有效。我用 Minikube 1.24.0 和 K8s 1.22.3 在本地尝试了你的 repo——它可以工作,没有权限错误。操作员和设置都正确。对于 K3d 也是如此——它可以工作。我认为这是您的本地设置或旧图像留在某处的问题。

我也测试过。我在 Minikube 上本地运行它,没有任何问题。您的设置看起来不错,一切正常。问题可能与图像中的某些依赖项或 Minikube 剩余部分有关。请记住,Minikube 主要用于测试和学习目的,因此它的某些功能可能并不理想。至于解决您的问题,只需尝试创建一个新集群。

于 2021-11-22T08:45:05.217 回答