我目前正在使用KubernetesPodOperator在Kubernetes集群上运行Pod。我得到了以下错误:
kubernetes.client.rest.ApiException:(403)理由:禁止
HTTP响应头:HTTPHeaderDict({“审核-Id”:“”、“缓存-控制”:“无缓存、私有”、“内容-类型”:“应用程序/json”、“X-内容-类型-选项”:“nosniff”、“日期”:“Mon,2021年8月30日:12:57 GMT”、“内容-长度”:'309'})
HTTP响应体:{“类别”:“状态”、"apiVersion":"v1“、”元数据“:{}、”状态“:”失败“、”消息“:”禁止使用pods:用户不能在API组"“默认”、“原因”中列出资源"pods“、”原因“:”禁止“、”详细信息“:{”样“:”pods“}、”代码“:403}
我可以通过运行以下命令来解决这个问题:
kubectl创建集群角色结荚创建者--动词=创建、获取、列表、观察--资源=pods
库贝克尔创建簇合荚-创建者-聚类结合-聚类角色=荚-创建者--serviceaccount=airflow10:airflow-worker-serviceaccount
但我希望能够设置正确的权限内气流自动服务帐户。在不需要运行上述命令的情况下,做这件事的好方法是什么?
发布于 2021-08-30 15:01:33
你不能真的。您需要在部署气流时分配和创建角色,否则将意味着您面临巨大的安全风险,因为已部署的应用程序将能够授予更多的权限。
如果您的目的是在某种程度上自动化部署,则可以通过多种方式“自动”完成这一任务。例如,如果您的气流部署是通过Helm图表完成的,则该图表可以添加配置正确的资源以创建适当的角色绑定。您可以看到我们的Helm官方图表是如何实现的:
https://stackoverflow.com/questions/68978195
复制相似问题