我目前正在使用 KubernetesPodOperator 在 Kubernetes 集群上运行 Pod。我收到以下错误:
kubernetes.client.rest.ApiException:(403)原因:禁止
HTTP 响应头:HTTPHeaderDict({'Audit-Id': '', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'X-Content-Type-Options ':'nosniff','日期':'星期一,2021 年 8 月 30 日 00:12:57 GMT','内容长度':'309'})
HTTP 响应正文:{"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"pod 被禁止:用户 "system:serviceaccount :airflow10:airflow-worker-serviceaccount" 无法在命名空间 "default"","reason":"Forbidden","details":{"kind":"pods"} 中列出 API 组 "" 中的资源 "pods", “代码”:403}
我可以通过运行以下命令来解决这个问题:
kubectl create clusterrole pod-creator --verb=create,get,list,watch --resource=pods
kubectl create clusterrolebinding pod-creator-clusterrolebinding --clusterrole=pod-creator --serviceaccount=airflow10:airflow-worker-serviceaccount
但我希望能够在气流中自动设置具有正确权限的服务帐户。什么是无需运行上述命令的好方法?