Support non-standard Spark container names #2441
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Purpose of this PR
Proposed changes:
Change Category
Rationale
Current implementation only supports standard Spark container names. Driver container name must be
spark-kubernetes-driver
and executor container name must bespark-kubernetes-executor
orexecutor
. However, Pod template files can define multiple containers, and you can use the spark properties spark.kubernetes.driver.podTemplateContainerName and spark.kubernetes.executor.podTemplateContainerName to indicate which container should be used as a basis for the driver or executor. If not specified, or if the container name is not valid, Spark will assume that the first container in the list will be the driver or executor container [Source].podTemplateContainerName
config could be specified viaSpec.SparkConf
or inspark-defaults.conf
, and in the webhook it's hard to determine ifpodTemplateContainerName
is set via any one of the possible Spark configuration methods, so in the Webhook it is better to assume that if standard Spark container name is not found, the first container in the list is the driver or executor container.Checklist
Additional Notes