zhixingheyi_tian created SPARK-28360:
----------------------------------------
Summary: The serviceAccountName configuration item does not take
effect in client mode.
Key: SPARK-28360
URL: https://issues.apache.org/jira/browse/SPARK-28360
Project: Spark
Issue Type: Improvement
Components: Kubernetes
Affects Versions: 2.4.3, 2.4.2, 2.4.1
Reporter: zhixingheyi_tian
>From the configuration item description from the spark
>document:Https://spark.apache.org/docs/latest/running-on-kubernetes.html
“spark.kubernetes.authenticate.driver.serviceAccountName default Service
account that is used when running the driver pod. The driver pod uses this
service account when requesting executor pods from the API server. Note that
this cannot be specified alongside a CA cert file, client key file, client cert
file, and/or OAuth token. In client mode, use
spark.kubernetes.authenticate.serviceAccountName instead.”
But in client mode. “spark.kubernetes.authenticate.serviceAccountName” does
not take effect in fact。
In Unit Tests, only cases for
"spark.kubernetes.authenticate.driver.serviceAccountName".
In kubernetes, a service account provides an identity for processes that run
in a Pod. When you create a pod, if you do not specify a service account, it is
automatically assigned the default service account in the same namespace.
Add a “spec.serviceAccountName” when creating a pod , can specify a custom
service account.
So in client mode, If you run your driver inside a Kubernetes pod, the
serviceaccount has already existed. If your application is not running inside a
pod, no serviceaccount is needed at all.
From my point of view, just modify the document and delete the
"spark.kubernetes.authenticate.serviceAccountName" configuration item
description. Because it doesn't work at the moment, it also doesn't need to
work.
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]