nab*_*llo -1 kubernetes nginx-ingress ambassador k8s-serviceaccount k8s-rolebinding
我目前在托管 Lucidworks Fusion 的 Amazon EKS 集群上遇到问题。首先,我有一个 Amazon EKS v1.18集群,然后我将其升级到v1.19,一切进展顺利。我的集群中还运行了ingress-nginx-3.7.1,然后我将其升级到ingress-nginx-4.0.19,此时一切似乎仍然正常运行。也就是说,一旦我将集群升级到v1.20,当耗尽我的 Pod 并在新工作节点中重新启动它们时,所有 Pod 都会正确重新启动,除了我的大使Pod 现在陷入CrashLoopBackOff状态。我查看了这个 pod 的日志,发现以下错误:
2022/04/08 14:00:35 ERROR(s): kubebootstrap: WORKER PANICKED: ingresses.networking.k8s.io is forbidden: User "system:serviceaccount:sandbox1:sandbox1-ambassador" cannot list resource "ingresses" in API group "networking.k8s.io" in the namespace "sandbox1"
Run Code Online (Sandbox Code Playgroud)
有谁知道这意味着什么?我相信这告诉我一些与权限相关的事情,但我不太确定。另外我想了解导致此问题的原因,是将我的 EKS 集群升级到 v1.20 还是升级 ingress-nginx 或完全不同的东西?最后我想了解如何解决这个问题并使这个 Pod 再次正常运行?欢迎任何帮助。
进一步深入研究后,我发现为了解决此问题,我需要编辑sandbox1-ambassador角色。所以我执行了以下命令
kubectl edit role sandbox1-ambassador
Run Code Online (Sandbox Code Playgroud)
我将以下内容附加到此配置中:
- apiGroups:
- networking.k8s.io
resources:
- ingresses
verbs:
- list
- watch
- get
Run Code Online (Sandbox Code Playgroud)
保存这些更改并关闭编辑会话后,我重新启动了大使窗格,一切都再次开始正常工作。
归档时间: |
|
查看次数: |
2199 次 |
最近记录: |