[ 
https://issues.apache.org/jira/browse/SPARK-25887?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16715195#comment-16715195
 ] 

ASF GitHub Bot commented on SPARK-25887:
----------------------------------------

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]


> Allow specifying Kubernetes context to use
> ------------------------------------------
>
>                 Key: SPARK-25887
>                 URL: https://issues.apache.org/jira/browse/SPARK-25887
>             Project: Spark
>          Issue Type: Improvement
>          Components: Kubernetes
>    Affects Versions: 2.3.0, 2.3.1, 2.3.2, 2.4.0
>            Reporter: Rob Vesse
>            Priority: Major
>
> In working on SPARK-25809 support was added to the integration testing 
> machinery for Spark on K8S to use an arbitrary context from the users K8S 
> config file.  However this can fail/cause false positives because regardless 
> of what the integration test harness does the K8S submission client uses the 
> Fabric 8 client library in such a way that it only ever configures itself 
> from the current context.
> For users who work with multiple K8S clusters or who have multiple K8S 
> "users" for interacting with their cluster being able to support arbitrary 
> contexts without forcing the user to first {{kubectl config use-context 
> <context>}} is an important improvement.
> This would be a fairly small fix to {{SparkKubernetesClientFactory}} and an 
> associated configuration key, likely {{spark.kubernetes.context}} to go along 
> with this.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to