Back to Charts

⚠️ Repo Archive Notice

incubator/sparkoperator/README.md

latest7.1 KB
Original Source

⚠️ Repo Archive Notice

As of Nov 13, 2020, charts in this repo will no longer be updated. For more information, see the Helm Charts Deprecation and Archive Notice, and Update.

Helm Chart for Spark Operator

This is the Helm chart for the Kubernetes Operator for Apache Spark.

DEPRECATION NOTICE

This chart is deprecated and no longer supported.

Prerequisites

The Operator requires Kubernetes version 1.13 or above to use the subresource support for CustomResourceDefinitions, which became beta in 1.13 and is enabled by default in 1.13 and higher.

Installing the chart

First add the incubator repo:

bash
$ helm repo add incubator http://storage.googleapis.com/kubernetes-charts-incubator

If using Helm 2, then the chart can be installed by running:

bash
$ helm install incubator/sparkoperator --namespace spark-operator --set sparkJobNamespace=default

Note that you need to use the --namespace flag during helm install to specify in which namespace you want to install the operator. The namespace can be existing or not. When it's not available, Helm would take care of creating the namespace. Note that this namespace has no relation to the namespace where you would like to deploy Spark jobs (i.e. the setting sparkJobNamespace shown in the table below). They can be the same namespace or different ones.

If using Helm 3, then install the chart by running:

bash
$ helm install incubator/sparkoperator --generate-name --namespace spark-operator --set sparkJobNamespace=default

or

bash
$ helm install [RELEASE-NAME] incubator/sparkoperator --namespace spark-operator --set sparkJobNamespace=default

if you don't want Helm to automatically generate a name for you.

Configuration

The following table lists the configurable parameters of the Spark operator chart and their default values.

ParameterDescriptionDefault
operatorImageNameThe name of the operator imagegcr.io/spark-operator/spark-operator
operatorVersionThe version of the operator to installv1beta2-1.2.0-3.0.0
imagePullPolicyDocker image pull policyIfNotPresent
imagePullSecretsDocker image pull secrets
replicasThe number of replicas of the operator Deployment1
sparkJobNamespaceK8s namespace where Spark jobs are to be deployed``
enableWebhookWhether to enable mutating admission webhookfalse
enableMetricsWhether to expose metrics to be scraped by Prometheustrue
controllerThreadsNumber of worker threads used by the SparkApplication controller10
ingressUrlFormatIngress URL format""
logLevelLogging verbosity level2
installCrdsWhether the release should install CRDs.true
metricsPortPort for the metrics endpoint10254
metricsEndpointMetrics endpoint"/metrics"
metricsPrefixPrefix for the metrics""
nodeSelectorNode labels for pod assignment{}
tolerationsTolerations for the sparkoperator deployment[]
podAnnotationsAnnotations to be added to pods{}
resyncIntervalInformer resync interval in seconds30
webhookPortService port of the webhook server8080
webhookNamespaceSelectorThe webhook will only operate on namespaces with this label, specified in the form key1=value1,key2=value2""
resourcesResources needed for the sparkoperator deployment{}
enableBatchSchedulerWhether to enable batch scheduler for pod schedulingfalse
enableResourceQuotaEnforcementWhether to enable the ResourceQuota enforcement for SparkApplication resources. Requires the webhook to be enabled by setting enableWebhook to true.false
leaderElection.enableWhether to enable leader election when the operator Deployment has more than one replica, i.e., when replicas is greater than 1.false
leaderElection.lockNameLock name to use for leader electionspark-operator-lock
leaderElection.lockNamespaceNamespace to use for leader election(namespace of release)
securityContextDefines security context for operator container.{}
istio.enabledWhether Jobs will run in service meshfalse

Specify each parameter using the --set key=value[,key=value] argument to helm install.

Upgrading

To 0.6.5
  • enableLeaderElection has been renamed leaderElection.enable to keep all of the leader election stuff together
To 0.6.2
Breaking changes
  • cleanupCrdsBeforeInstall has been removed for Helm 3 compatibility. If you wish to replicate this behavior before upgrading, do so manually (kubectl delete CustomResourceDefinition sparkapplications.sparkoperator.k8s.io scheduledsparkapplications.sparkoperator.k8s.io)
Non-breaking changes
  • app.kubernetes.io/name=sparkoperator label is added to CRDs if installed at this version, for easier manual cleanup after chart deletion (kubectl delete CustomResourceDefinition -l app.kubernetes.io/name=sparkoperator)

Contributing

When making changes to values.yaml, update the files in ci/ by running hack/update-ci.sh.