當我嘗試從 test-operator 代碼(即部署在階段級別的 kubernates 運算子)中的 testns2 命名空間中獲取由 assocOperator(部署在階段級別的 kubernates 運算子)創建的資源(測驗關聯)時,出現以下錯誤。有人可以幫助我在這里缺少什么嗎?
錯誤 :
io.fabric8.kubernetes.client.KubernetesClientException:執行失敗:GET at: https ://172.17.0.1/apis/tc.secassoc/v1/namespaces/testns2/associations/test-associations 。訊息:禁止!配置的服務帳戶無權訪問。服務帳戶可能已被撤銷。Associations.tc.secassoc "test-associations" 被禁止:用戶 "system:serviceaccount:test-operator:test-operator" 無法在命名空間 "testns2" 中的 API 組 "tc.secassoc" 中獲取資源 "associations"
uj5u.com熱心網友回復:
您需要將適當的 RBAC 權限添加到您的運營商的服務帳戶(即test-operator)。
如果您已經為運營商的服務帳戶創建了 aClusterRole和 a ClusterRoleBinding。確保您的rules部分中存在以下規則ClusterRole:
rules:
- apiGroups: ["tc.secassoc"]
resources: ["associations"]
verbs: ["get", "watch", "list"]
如果您不創建任何 RBAC 資源,請創建以下內容:
- 創建集群角色:
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: associations-reader
rules:
- apiGroups: ["tc.secassoc"]
resources: ["associations"]
verbs: ["get", "watch", "list"]
$ kubectl apply -f cluster-role.yaml
- 創建集群角色系結:
$ kubectl create clusterrolebinding associations-reader-pod \
--clusterrole=associations-reader \
--serviceaccount=test-operator:test-operator
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/483211.html
標籤:Kubernetes kubernetes-helm rbac 面料8 k8s-集群角色
