1
1
package org .apache .spark .deploy .k8s .features
2
2
3
3
import scala .collection .JavaConverters ._
4
- import io .fabric8 .kubernetes .api .model .{ContainerBuilder , EnvVarBuilder , HasMetadata }
4
+ import io .fabric8 .kubernetes .api .model .{ContainerBuilder , EnvVarBuilder , HasMetadata , PodBuilder , VolumeBuilder }
5
5
import org .apache .spark .SparkConf
6
+ import org .apache .spark .deploy .k8s .{KubernetesConf , KubernetesRoleSpecificConf , SparkPod }
6
7
import org .apache .spark .deploy .k8s .Config ._
7
8
import org .apache .spark .deploy .k8s .Constants ._
8
- import org .apache .spark .deploy .k8s .{KubernetesConf , KubernetesRoleSpecificConf , SparkPod }
9
9
10
10
private [spark] class MaprConfigFeatureStep (
11
11
conf : KubernetesConf [_ <: KubernetesRoleSpecificConf ])
@@ -22,50 +22,47 @@ private[spark] class MaprConfigFeatureStep(
22
22
.build()
23
23
}
24
24
25
- val maprTicketSecret =
26
- s " $KUBERNETES_DRIVER_SECRETS_PREFIX${sparkConf.get(MAPR_TICKET_SECRET_PREFIX )}"
27
-
28
- val maprTicketEnv = sparkConf
29
- .getAllWithPrefix(maprTicketSecret).toSeq
30
- .map { case (_, value) =>
31
- new EnvVarBuilder ()
32
- .withName(MAPR_TICKETFILE_LOCATION )
33
- .withValue(value + s " / ${sparkConf.get(MAPR_TICKET_SECRET_KEY )}" )
34
- .build()
35
- }
36
-
37
- val maprSslSecret =
38
- s " $KUBERNETES_DRIVER_SECRETS_PREFIX${sparkConf.get(MAPR_SSL_SECRET_PREFIX )}"
39
-
40
- val maprSslEnv = sparkConf
41
- .getAllWithPrefix(maprSslSecret).toSeq
42
- .map { case (_, value) =>
43
- new EnvVarBuilder ()
44
- .withName(MAPR_SSL_LOCATION )
45
- .withValue(value)
46
- .build()
47
- }
48
-
49
25
val clusterConfMap = sparkConf.get(MAPR_CLUSTER_CONFIGMAP ).toString
50
- val clusterUserSecrets = sparkConf.get(MAPR_CLUSTER_USER_SECRETS ).toString
26
+ val userSecret = sparkConf.get(MAPR_USER_SECRET ).toString
27
+ val userSecretVolumeName = s " $userSecret-volume "
28
+ val userSecretMountPath = " /tmp/maprticket"
29
+ val ticketFileLocation = s " $userSecretMountPath/ ${sparkConf.get(MAPR_TICKET_SECRET_KEY )}"
30
+
31
+ val maprPod = new PodBuilder (pod.pod)
32
+ .editOrNewSpec()
33
+ .addToVolumes(
34
+ new VolumeBuilder ()
35
+ .withName(userSecretVolumeName)
36
+ .withNewSecret()
37
+ .withSecretName(userSecret)
38
+ .endSecret()
39
+ .build())
40
+ .endSpec()
41
+ .build()
51
42
52
- val container = new ContainerBuilder (pod.container)
43
+ val maprContainer = new ContainerBuilder (pod.container)
53
44
.addAllToEnv(clusterEnvs.asJava)
54
- .addAllToEnv(maprTicketEnv.asJava)
55
- .addAllToEnv(maprSslEnv.asJava)
45
+ .addNewEnv()
46
+ .withName(MAPR_TICKETFILE_LOCATION )
47
+ .withValue(ticketFileLocation)
48
+ .endEnv()
49
+ .addNewVolumeMount()
50
+ .withName(userSecretVolumeName)
51
+ .withMountPath(userSecretMountPath)
52
+ .endVolumeMount()
56
53
.addNewEnvFrom()
57
54
.withNewConfigMapRef()
58
55
.withName(clusterConfMap)
59
56
.endConfigMapRef()
60
57
.endEnvFrom()
61
58
.addNewEnvFrom()
62
59
.withNewSecretRef()
63
- .withName(clusterUserSecrets )
60
+ .withName(userSecret )
64
61
.endSecretRef()
65
62
.endEnvFrom()
66
63
.build()
67
64
68
- SparkPod (pod.pod, container )
65
+ SparkPod (maprPod, maprContainer )
69
66
}
70
67
71
68
override def getAdditionalPodSystemProperties (): Map [String , String ] = Map .empty
0 commit comments