[英]Not able to access resource from kubernates operator
當我嘗試從 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"
您需要為您的運營商的服務帳戶(即test-operator
)添加適當的 RBAC 權限。
如果您已經為操作員的服務帳戶創建了ClusterRole
和ClusterRoleBinding
。 確保ClusterRole
的rules
部分中存在以下規則:
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.