Skip to content

Commit 18bb222

Browse files
authored
Merge pull request #115 from Yelp/luisp/COMPINFRA-2505-support-use-eks
Add support for --use-eks in PaaSTA
2 parents f0916a8 + 62407ad commit 18bb222

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

service_configuration_lib/spark_config.py

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -918,15 +918,17 @@ def _get_k8s_spark_env(
918918
volumes: Optional[List[Mapping[str, str]]],
919919
paasta_pool: str,
920920
service_account_name: Optional[str] = None,
921+
include_self_managed_configs: bool = True,
922+
k8s_server_address: Optional[str] = None,
921923
) -> Dict[str, str]:
922924
# RFC 1123: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-label-names
923925
# technically only paasta instance can be longer than 63 chars. But we apply the normalization regardless.
924926
# NOTE: this affects only k8s labels, not the pod names.
925927
_paasta_cluster = _get_k8s_resource_name_limit_size_with_hash(paasta_cluster)
926928
_paasta_service = _get_k8s_resource_name_limit_size_with_hash(paasta_service)
927929
_paasta_instance = _get_k8s_resource_name_limit_size_with_hash(paasta_instance)
930+
928931
spark_env = {
929-
'spark.master': f'k8s://https://k8s.{paasta_cluster}.paasta:6443',
930932
'spark.executorEnv.PAASTA_SERVICE': paasta_service,
931933
'spark.executorEnv.PAASTA_INSTANCE': paasta_instance,
932934
'spark.executorEnv.PAASTA_CLUSTER': paasta_cluster,
@@ -935,7 +937,6 @@ def _get_k8s_spark_env(
935937
'spark.kubernetes.pyspark.pythonVersion': '3',
936938
'spark.kubernetes.container.image': docker_img,
937939
'spark.kubernetes.namespace': 'paasta-spark',
938-
'spark.kubernetes.container.image.pullPolicy': 'Always',
939940
'spark.kubernetes.executor.label.yelp.com/paasta_service': _paasta_service,
940941
'spark.kubernetes.executor.label.yelp.com/paasta_instance': _paasta_instance,
941942
'spark.kubernetes.executor.label.yelp.com/paasta_cluster': _paasta_cluster,
@@ -954,14 +955,20 @@ def _get_k8s_spark_env(
954955
'spark.kubernetes.authenticate.serviceAccountName': service_account_name,
955956
},
956957
)
957-
else:
958+
elif not include_self_managed_configs:
959+
spark_env.update({
960+
'spark.master': f'k8s://{k8s_server_address}',
961+
})
962+
elif include_self_managed_configs:
958963
spark_env.update(
959964
{
965+
'spark.master': f'k8s://https://k8s.{paasta_cluster}.paasta:6443',
960966
'spark.kubernetes.authenticate.caCertFile': f'{K8S_AUTH_FOLDER}/{paasta_cluster}-ca.crt',
961967
'spark.kubernetes.authenticate.clientKeyFile': f'{K8S_AUTH_FOLDER}/{paasta_cluster}-client.key',
962968
'spark.kubernetes.authenticate.clientCertFile': f'{K8S_AUTH_FOLDER}/{paasta_cluster}-client.crt',
963969
},
964970
)
971+
965972
return spark_env
966973

967974

@@ -1094,6 +1101,8 @@ def get_spark_conf(
10941101
docker_img: str,
10951102
aws_creds: Tuple[Optional[str], Optional[str], Optional[str]],
10961103
extra_volumes: Optional[List[Mapping[str, str]]] = None,
1104+
use_eks: bool = False,
1105+
k8s_server_address: Optional[str] = None,
10971106
# the follow arguments only being used for mesos
10981107
extra_docker_params: Optional[MutableMapping[str, str]] = None,
10991108
with_secret: bool = True,
@@ -1201,6 +1210,8 @@ def get_spark_conf(
12011210
extra_volumes,
12021211
paasta_pool,
12031212
service_account_name=service_account_name,
1213+
include_self_managed_configs=not use_eks,
1214+
k8s_server_address=k8s_server_address,
12041215
))
12051216
elif cluster_manager == 'local':
12061217
spark_conf.update(_get_local_spark_env(

tests/spark_config_test.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1252,7 +1252,6 @@ def assert_kubernetes_conf(self, base_volumes):
12521252
'spark.kubernetes.authenticate.clientCertFile': (
12531253
f'{spark_config.K8S_AUTH_FOLDER}/{self.cluster}-client.crt'
12541254
),
1255-
'spark.kubernetes.container.image.pullPolicy': 'Always',
12561255
'spark.kubernetes.executor.label.yelp.com/paasta_service': self.service,
12571256
'spark.kubernetes.executor.label.yelp.com/paasta_instance': self.instance,
12581257
'spark.kubernetes.executor.label.yelp.com/paasta_cluster': self.cluster,

0 commit comments

Comments
 (0)