mirror of
https://github.com/bitnami/charts.git
synced 2026-03-09 07:27:18 +08:00
585 lines
17 KiB
YAML
585 lines
17 KiB
YAML
## Global Docker image parameters
|
|
## Please, note that this will override the image parameters, including dependencies, configured to use the global value
|
|
## Current available global Docker image parameters: imageRegistry and imagePullSecrets
|
|
##
|
|
# global:
|
|
# imageRegistry: myRegistryName
|
|
# imagePullSecrets:
|
|
# - myRegistryKeySecretName
|
|
|
|
## Bitnami Spark image version
|
|
## ref: https://hub.docker.com/r/bitnami/spark/tags/
|
|
##
|
|
image:
|
|
registry: docker.io
|
|
repository: bitnami/spark
|
|
tag: 3.1.1-debian-10-r68
|
|
## Specify a imagePullPolicy
|
|
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
|
|
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
|
|
##
|
|
pullPolicy: IfNotPresent
|
|
|
|
## Pull secret for this image
|
|
# pullSecrets:
|
|
# - myRegistryKeySecretName
|
|
|
|
## Set to true if you would like to see extra information on logs
|
|
## It turns BASH and/or NAMI debugging in the image
|
|
##
|
|
debug: false
|
|
|
|
## Enable HOST Network
|
|
## If hostNetwork true -> dnsPolicy is set to ClusterFirstWithHostNet
|
|
##
|
|
hostNetwork: false
|
|
|
|
## Force target Kubernetes version (using Helm capabilites if not set)
|
|
##
|
|
kubeVersion:
|
|
|
|
## String to partially override common.names.fullname template (will maintain the release name)
|
|
##
|
|
# nameOverride:
|
|
|
|
## String to fully override common.names.fullname template
|
|
##
|
|
# fullnameOverride:
|
|
|
|
## Spark master specific configuration
|
|
##
|
|
master:
|
|
## Set a custom configuration by using an existing configMap with the configuration file.
|
|
##
|
|
# configurationConfigMap:
|
|
|
|
## Spark container ports
|
|
##
|
|
webPort: 8080
|
|
clusterPort: 7077
|
|
|
|
## Deployment pod host aliases
|
|
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
|
|
##
|
|
hostAliases: []
|
|
|
|
## Set the master daemon memory limit.
|
|
##
|
|
# daemonMemoryLimit:
|
|
|
|
## Use a string to set the config options for in the form "-Dx=y"
|
|
##
|
|
# configOptions:
|
|
|
|
## An array to add extra env vars
|
|
## For example:
|
|
## extraEnvVars:
|
|
## - name: SPARK_DAEMON_JAVA_OPTS
|
|
## value: -Dx=y
|
|
##
|
|
# extraEnvVars:
|
|
|
|
## Kubernetes Security Context
|
|
## https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
|
|
##
|
|
securityContext:
|
|
enabled: true
|
|
fsGroup: 1001
|
|
runAsUser: 1001
|
|
seLinuxOptions: {}
|
|
|
|
## Annotations to add to the statefulset
|
|
##
|
|
##
|
|
podAnnotations: {}
|
|
|
|
## Labes to add to the statefulset
|
|
##
|
|
##
|
|
extraPodLabels: {}
|
|
|
|
## Spark master pod affinity preset
|
|
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
|
|
## Allowed values: soft, hard
|
|
##
|
|
podAffinityPreset: ''
|
|
|
|
## Spark master pod anti-affinity preset
|
|
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
|
|
## Allowed values: soft, hard
|
|
##
|
|
podAntiAffinityPreset: soft
|
|
|
|
## Spark master node affinity preset
|
|
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
|
|
## Allowed values: soft, hard
|
|
##
|
|
nodeAffinityPreset:
|
|
## Node affinity type
|
|
## Allowed values: soft, hard
|
|
##
|
|
type: ''
|
|
## Node label key to match
|
|
## E.g.
|
|
## key: "kubernetes.io/e2e-az-name"
|
|
##
|
|
key: ''
|
|
## Node label values to match
|
|
## E.g.
|
|
## values:
|
|
## - e2e-az1
|
|
## - e2e-az2
|
|
##
|
|
values: []
|
|
|
|
## Affinity for Spark master pods assignment
|
|
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
|
|
## Note: master.podAffinityPreset, master.podAntiAffinityPreset, and master.nodeAffinityPreset will be ignored when it's set
|
|
##
|
|
affinity: {}
|
|
|
|
## Node labels for Spark master pods assignment
|
|
## ref: https://kubernetes.io/docs/user-guide/node-selection/
|
|
##
|
|
nodeSelector: {}
|
|
|
|
## Tolerations for Spark master pods assignment
|
|
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
|
##
|
|
tolerations: []
|
|
|
|
## Configure resource requests and limits
|
|
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
|
|
##
|
|
resources:
|
|
# We usually recommend not to specify default resources and to leave this as a conscious
|
|
# choice for the user. This also increases chances charts run on environments with little
|
|
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
|
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
|
limits: {}
|
|
# cpu: 250m
|
|
# memory: 256Mi
|
|
requests: {}
|
|
# cpu: 250m
|
|
# memory: 256Mi
|
|
|
|
## Configure liveness and readiness probes
|
|
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes)
|
|
##
|
|
livenessProbe:
|
|
enabled: true
|
|
initialDelaySeconds: 180
|
|
periodSeconds: 20
|
|
timeoutSeconds: 5
|
|
failureThreshold: 6
|
|
successThreshold: 1
|
|
readinessProbe:
|
|
enabled: true
|
|
initialDelaySeconds: 30
|
|
periodSeconds: 10
|
|
timeoutSeconds: 5
|
|
failureThreshold: 6
|
|
successThreshold: 1
|
|
|
|
## Spark worker specific configuration
|
|
##
|
|
worker:
|
|
## Set a custom configuration by using an existing configMap with the configuration file.
|
|
##
|
|
# configurationConfigMap:
|
|
|
|
## Spark container ports
|
|
##
|
|
webPort: 8081
|
|
# clusterPort:
|
|
|
|
## Deployment pod host aliases
|
|
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
|
|
##
|
|
hostAliases: []
|
|
|
|
## Add ports for exposing jobs running inside the worker nodes
|
|
## ref: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#containerport-v1-core
|
|
##
|
|
extraPorts: []
|
|
# - name: myapp
|
|
# containerPort: 8000
|
|
# protocol: TCP
|
|
|
|
## Set the daemonMemoryLimit as the daemon max memory
|
|
##
|
|
# daemonMemoryLimit:
|
|
|
|
## Set the worker memory limit
|
|
##
|
|
# memoryLimit:
|
|
|
|
## Set the maximum number of cores
|
|
##
|
|
# coreLimit:
|
|
|
|
## Working directory for the application
|
|
##
|
|
# dir:
|
|
|
|
## Options for the JVM as "-Dx=y"
|
|
##
|
|
# javaOptions:
|
|
|
|
## Configuration options in the form "-Dx=y"
|
|
##
|
|
# configOptions:
|
|
|
|
## An array to add extra env vars
|
|
## For example:
|
|
## extraEnvVars:
|
|
## - name: SPARK_DAEMON_JAVA_OPTS
|
|
## value: -Dx=y
|
|
# extraEnvVars:
|
|
|
|
## Number of spark workers (will be the min number when autoscaling is enabled)
|
|
##
|
|
replicaCount: 2
|
|
|
|
## Pod management policy
|
|
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
|
|
##
|
|
podManagementPolicy: OrderedReady
|
|
|
|
## Kubernetes Security Context
|
|
## https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
|
|
##
|
|
securityContext:
|
|
enabled: true
|
|
fsGroup: 1001
|
|
runAsUser: 1001
|
|
seLinuxOptions: {}
|
|
|
|
## Annotations to add to the statefulset
|
|
##
|
|
##
|
|
podAnnotations: {}
|
|
|
|
## Labes to add to the statefulset
|
|
##
|
|
##
|
|
extraPodLabels: {}
|
|
|
|
## Spark worker pod affinity preset
|
|
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
|
|
## Allowed values: soft, hard
|
|
##
|
|
podAffinityPreset: ''
|
|
|
|
## Spark worker pod anti-affinity preset
|
|
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
|
|
## Allowed values: soft, hard
|
|
##
|
|
podAntiAffinityPreset: soft
|
|
|
|
## Spark worker node affinity preset
|
|
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
|
|
## Allowed values: soft, hard
|
|
##
|
|
nodeAffinityPreset:
|
|
## Node affinity type
|
|
## Allowed values: soft, hard
|
|
##
|
|
type: ''
|
|
## Node label key to match
|
|
## E.g.
|
|
## key: "kubernetes.io/e2e-az-name"
|
|
##
|
|
key: ''
|
|
## Node label values to match
|
|
## E.g.
|
|
## values:
|
|
## - e2e-az1
|
|
## - e2e-az2
|
|
##
|
|
values: []
|
|
|
|
## Affinity for Spark worker pods assignment
|
|
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
|
|
## Note: worker.podAffinityPreset, worker.podAntiAffinityPreset, and worker.nodeAffinityPreset will be ignored when it's set
|
|
##
|
|
affinity: {}
|
|
|
|
## Node labels for Spark worker pods assignment
|
|
## ref: https://kubernetes.io/docs/user-guide/node-selection/
|
|
##
|
|
nodeSelector: {}
|
|
|
|
## Tolerations for Spark master worker assignment
|
|
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
|
##
|
|
tolerations: []
|
|
|
|
## Configure resource requests and limits
|
|
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
|
|
##
|
|
resources:
|
|
# We usually recommend not to specify default resources and to leave this as a conscious
|
|
# choice for the user. This also increases chances charts run on environments with little
|
|
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
|
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
|
limits: {}
|
|
# cpu: 250m
|
|
# memory: 256Mi
|
|
requests: {}
|
|
# cpu: 250m
|
|
# memory: 256Mi
|
|
|
|
## Configure liveness and readiness probes
|
|
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes)
|
|
##
|
|
livenessProbe:
|
|
enabled: true
|
|
initialDelaySeconds: 180
|
|
periodSeconds: 20
|
|
timeoutSeconds: 5
|
|
failureThreshold: 6
|
|
successThreshold: 1
|
|
readinessProbe:
|
|
enabled: true
|
|
initialDelaySeconds: 30
|
|
periodSeconds: 10
|
|
timeoutSeconds: 5
|
|
failureThreshold: 6
|
|
successThreshold: 1
|
|
|
|
## Array to add extra volumes
|
|
##
|
|
## extraVolumes:
|
|
## Array to add extra mounts (normally used with extraVolumes)
|
|
##
|
|
## extraVolumeMounts: {}
|
|
## Autoscaling parameters
|
|
##
|
|
autoscaling:
|
|
## Enable replica autoscaling depending on CPU
|
|
##
|
|
enabled: false
|
|
CpuTargetPercentage: 50
|
|
## Max number of workers when using autoscaling
|
|
##
|
|
replicasMax: 5
|
|
|
|
## Security configuration
|
|
##
|
|
security:
|
|
## Name of the secret that contains all the passwords. This is optional, by default random passwords are generated.
|
|
##
|
|
# passwordsSecretName:
|
|
|
|
## RPC configuration
|
|
##
|
|
rpc:
|
|
authenticationEnabled: false
|
|
encryptionEnabled: false
|
|
|
|
## Enables local storage encryption
|
|
##
|
|
storageEncryptionEnabled: false
|
|
|
|
## Name of the secret that contains the certificates
|
|
## It should contains two keys called "spark-keystore.jks" and "spark-truststore.jks" with the files in JKS format.
|
|
##
|
|
# certificatesSecretName:
|
|
|
|
## SSL configuration
|
|
##
|
|
ssl:
|
|
enabled: false
|
|
needClientAuth: false
|
|
protocol: TLSv1.2
|
|
|
|
## Service parameters
|
|
##
|
|
service:
|
|
## Kubernetes service type
|
|
##
|
|
type: ClusterIP
|
|
|
|
## Cluster Service port
|
|
##
|
|
clusterPort: 7077
|
|
|
|
## Web Service port
|
|
##
|
|
webPort: 80
|
|
|
|
## Specify the nodePort(s) value(s) for the LoadBalancer and NodePort service types.
|
|
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
|
|
##
|
|
nodePorts:
|
|
cluster: ''
|
|
web: ''
|
|
|
|
## Set the LoadBalancer service type to internal only.
|
|
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
|
|
##
|
|
# loadBalancerIP:
|
|
|
|
## Provide any additional annotations which may be required. This can be used to
|
|
## set the LoadBalancer service type to internal only.
|
|
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
|
|
##
|
|
annotations: {}
|
|
|
|
## Configure the ingress resource that allows you to access the
|
|
## Spark installation. Set up the URL
|
|
## ref: http://kubernetes.io/docs/user-guide/ingress/
|
|
##
|
|
ingress:
|
|
## Set to true to enable ingress record generation
|
|
##
|
|
enabled: false
|
|
|
|
## Set this to true in order to add the corresponding annotations for cert-manager
|
|
##
|
|
certManager: false
|
|
|
|
## Ingress Path type
|
|
##
|
|
pathType: ImplementationSpecific
|
|
|
|
## Override API Version (automatically detected if not set)
|
|
##
|
|
apiVersion:
|
|
|
|
## When the ingress is enabled, a host pointing to this will be created
|
|
##
|
|
hostname: spark.local
|
|
|
|
## The Path to Spark. You may need to set this to '/*' in order to use this
|
|
## with ALB ingress controllers.
|
|
##
|
|
path: /
|
|
|
|
## Ingress annotations done as key:value pairs
|
|
## For a full list of possible ingress annotations, please see
|
|
## ref: https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md
|
|
##
|
|
## If certManager is set to true, annotation kubernetes.io/tls-acme: "true" will automatically be set
|
|
##
|
|
annotations: {}
|
|
|
|
## Enable TLS configuration for the hostname defined at ingress.hostname parameter
|
|
## TLS certificates will be retrieved from a TLS secret with name: {{- printf "%s-tls" .Values.ingress.hostname }}
|
|
## You can use the ingress.secrets parameter to create this TLS secret or relay on cert-manager to create it
|
|
##
|
|
tls: false
|
|
|
|
## The list of additional hostnames to be covered with this ingress record.
|
|
## Most likely the hostname above will be enough, but in the event more hosts are needed, this is an array
|
|
## extraHosts:
|
|
## - name: spark.local
|
|
## path: /
|
|
##
|
|
|
|
## Any additional arbitrary paths that may need to be added to the ingress under the main host.
|
|
## For example: The ALB ingress controller requires a special rule for handling SSL redirection.
|
|
## extraPaths:
|
|
## - path: /*
|
|
## backend:
|
|
## serviceName: ssl-redirect
|
|
## servicePort: use-annotation
|
|
##
|
|
|
|
## The tls configuration for additional hostnames to be covered with this ingress record.
|
|
## see: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
|
|
## extraTls:
|
|
## - hosts:
|
|
## - spark.local
|
|
## secretName: spark.local-tls
|
|
##
|
|
|
|
## If you're providing your own certificates, please use this to add the certificates as secrets
|
|
## key and certificate should start with -----BEGIN CERTIFICATE----- or
|
|
## -----BEGIN RSA PRIVATE KEY-----
|
|
##
|
|
## name should line up with a tlsSecret set further up
|
|
## If you're using cert-manager, this is unneeded, as it will create the secret for you if it is not set
|
|
##
|
|
## It is also possible to create and manage the certificates outside of this helm chart
|
|
## Please see README.md for more information
|
|
##
|
|
secrets: []
|
|
## - name: spark.local-tls
|
|
## key:
|
|
## certificate:
|
|
##
|
|
|
|
## Metrics configuration
|
|
##
|
|
metrics:
|
|
enabled: false
|
|
|
|
## Annotations for the Prometheus metrics on master nodes
|
|
##
|
|
masterAnnotations:
|
|
prometheus.io/scrape: 'true'
|
|
prometheus.io/path: '/metrics/'
|
|
prometheus.io/port: '{{ .Values.master.webPort }}'
|
|
## Annotations for the Prometheus metrics on worker nodes
|
|
##
|
|
workerAnnotations:
|
|
prometheus.io/scrape: 'true'
|
|
prometheus.io/path: '/metrics/'
|
|
prometheus.io/port: '{{ .Values.worker.webPort }}'
|
|
|
|
## Prometheus Service Monitor
|
|
## ref: https://github.com/coreos/prometheus-operator
|
|
## https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
|
|
##
|
|
podMonitor:
|
|
## If the operator is installed in your cluster, set to true to create a PodMonitor entry
|
|
##
|
|
enabled: false
|
|
## Add metrics endpoints for monitoring the jobs running in the worker nodes
|
|
## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#podmetricsendpoint
|
|
##
|
|
extraMetricsEndpoints: []
|
|
# - port: myapp
|
|
# path: /metrics/
|
|
## Specify the namespace in which the podMonitor resource will be created
|
|
##
|
|
# namespace: ""
|
|
## Specify the interval at which metrics should be scraped
|
|
##
|
|
interval: 30s
|
|
## Specify the timeout after which the scrape is ended
|
|
##
|
|
# scrapeTimeout: 30s
|
|
## Used to pass Labels that are used by the Prometheus installed in your cluster to select PodMonitors to work with
|
|
## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#prometheusspec
|
|
##
|
|
additionalLabels: {}
|
|
|
|
## Custom PrometheusRule to be defined
|
|
## The value is evaluated as a template, so, for example, the value can depend on .Release or .Chart
|
|
## ref: https://github.com/coreos/prometheus-operator#customresourcedefinitions
|
|
##
|
|
prometheusRule:
|
|
enabled: false
|
|
additionalLabels: {}
|
|
namespace: ''
|
|
## These are just examples rules, please adapt them to your needs.
|
|
## Make sure to constraint the rules to the current postgresql service.
|
|
## rules:
|
|
## - alert: HugeReplicationLag
|
|
## expr: pg_replication_lag{service="{{ template "postgresql.fullname" . }}-metrics"} / 3600 > 1
|
|
## for: 1m
|
|
## labels:
|
|
## severity: critical
|
|
## annotations:
|
|
## description: replication for {{ template "postgresql.fullname" . }} PostgreSQL is lagging by {{ "{{ $value }}" }} hour(s).
|
|
## summary: PostgreSQL replication is lagging by {{ "{{ $value }}" }} hour(s).
|
|
##
|
|
rules: []
|
|
|
|
## Extra objects to deploy (value evaluated as a template)
|
|
##
|
|
extraDeploy: []
|