in spark-submission-worker/src/main/java/org/apache/spark/k8s/operator/SparkAppResourceSpec.java [68:103]
public SparkAppResourceSpec(
SparkAppDriverConf kubernetesDriverConf,
KubernetesDriverSpec kubernetesDriverSpec,
List<DriverServiceIngressSpec> driverServiceIngressList,
List<ConfigMapSpec> configMapSpecs) {
this.kubernetesDriverConf = kubernetesDriverConf;
String namespace = kubernetesDriverConf.sparkConf().get(Config.KUBERNETES_NAMESPACE().key());
Map<String, String> confFilesMap =
KubernetesClientUtils.buildSparkConfDirFilesMap(
kubernetesDriverConf.configMapNameDriver(),
kubernetesDriverConf.sparkConf(),
kubernetesDriverSpec.systemProperties())
.$plus(new Tuple2<>(Config.KUBERNETES_NAMESPACE().key(), namespace));
SparkPod sparkPod = addConfigMap(kubernetesDriverSpec.pod(), confFilesMap);
this.configuredPod =
new PodBuilder(sparkPod.pod())
.editSpec()
.addToContainers(sparkPod.container())
.endSpec()
.build();
this.driverPreResources =
new ArrayList<>(
CollectionConverters.SeqHasAsJava(kubernetesDriverSpec.driverPreKubernetesResources())
.asJava());
this.driverResources =
new ArrayList<>(
CollectionConverters.SeqHasAsJava(kubernetesDriverSpec.driverKubernetesResources())
.asJava());
this.driverResources.add(
KubernetesClientUtils.buildConfigMap(
kubernetesDriverConf.configMapNameDriver(), confFilesMap, new HashMap<>()));
this.driverPreResources.addAll(ConfigMapSpecUtils.buildConfigMaps(configMapSpecs));
this.driverResources.addAll(configureDriverServerIngress(sparkPod, driverServiceIngressList));
this.driverPreResources.forEach(r -> setNamespaceIfMissing(r, namespace));
this.driverResources.forEach(r -> setNamespaceIfMissing(r, namespace));
}