vanzin commented on a change in pull request #22904: [SPARK-25887][K8S]
Configurable K8S context support
URL: https://github.com/apache/spark/pull/22904#discussion_r240308164
##########
File path:
resource-managers/kubernetes/core/src/main/scala/org/apache/spark/deploy/k8s/SparkKubernetesClientFactory.scala
##########
@@ -67,8 +66,16 @@ private[spark] object SparkKubernetesClientFactory {
val dispatcher = new Dispatcher(
ThreadUtils.newDaemonCachedThreadPool("kubernetes-dispatcher"))
- // TODO [SPARK-25887] Create builder in a way that respects configurable
context
- val config = new ConfigBuilder()
+ // Allow for specifying a context used to auto-configure from the users
K8S config file
+ val kubeContext = sparkConf.get(KUBERNETES_CONTEXT).filter(c =>
StringUtils.isNotBlank(c))
+ logInfo(s"Auto-configuring K8S client using " +
+ s"${if (kubeContext.isEmpty) s"context ${kubeContext.get}" else "current
context"}" +
+ s" from users K8S config file")
+
+ // Start from an auto-configured config with the desired context
+ // Fabric 8 uses null to indicate that the users current context should be
used so if no
+ // explicit setting pass null
+ val config = new ConfigBuilder(autoConfigure(kubeContext.getOrElse(null)))
Review comment:
> What does client mode mean to you?
Client mode means that the driver is not started by Spark. It's started
directly by the user.
> Also - how should one interpret this paragraph in the docs?
I have no idea.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]