我正在尝试使用 Airflow kubernetes pod 运算符创建和运行一个 pod。下面的命令已尝试并确认可以正常工作,我正在尝试在本地使用 kubernetes pod 操作符复制相同的命令
kubectl run sparkairflow -n test-namespace --image=some-docker-repo.com:hello-world --serviceaccount=airflow --restart=Never -- spark-submit --deploy-mode cluster --master k8s://kubernetes.default.cluster.local:123 \
--name sparkairflow \
--conf spark.kubernetes.namespace=test-namespace \
--conf spark.kubernetes.container.image=some-docker-repo.com:hello-world \
--conf spark.kubernetes.authenticate.driver.serviceAccountName=airflow \
...
在这里撞墙,因为似乎没有办法使用气流传递 --serviceaccount 标志,这是我的实施所必需的,这会在我这边引发错误。
线程“main”io.fabric8.kubernetes.client.KubernetesClientException 中的异常:pods“sparkairflow-155252344-driver”被禁止:用户“system:serviceaccount:test-namespace:default”无法观看 API 组“”中的资源“pods”在命名空间“test-namespace”中:拒绝访问
到目前为止,我发现的解决方案主要集中在将默认用户添加到命名空间角色上,但这对我来说是不可能的。
有什么方法可以将 serviceaccount 标志传递给气流 kubernetes 操作员?
谢谢!