确定 Kubernetes 中 Airflow 的服务帐户

Determine Service Account for Airflow in Kubernetes

我运行在 Kubernetes 中使用 Airflow 一个 pod,2 个容器 - 网络服务器和调度程序。 配置中的 KubernetesExecutor

但由于组织设置,默认服务帐户的调度程序无法工作,角色不足。我无法更改此设置

{"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"pods is forbidden: User \"system:serviceaccount:<account_name>:default\" cannot list resource \"pods\" in API group \"\" in the namespace \"<namespace_name>\"","reason":"Forbidden","details":{"kind":"pods"},"code":403}

所以我使用所需的 rolesroleBinging 等创建了服务帐户。如何将 Airflow 设置为 运行 具有该 SA 的调度程序?

您可以指定要在您的 pod 规范中使用的所需 SA,如下面 link 中所述:

https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/

apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  serviceAccountName: build-robot
  automountServiceAccountToken: false
  ...