mirror of
https://github.com/helm/charts.git
synced 2026-08-23 22:37:45 +00:00
* MongoDB liveness/startupProbe tuning Signed-off-by: Bernard Grymonpon <bernard.grymonpon@oqton.com> * Changes after review - 1.18 as target k8s api version - aligned the values and readme - changed probe for the metrics server Signed-off-by: Bernard Grymonpon <bernard.grymonpon@oqton.com>
215 lines
5.0 KiB
YAML
215 lines
5.0 KiB
YAML
# Override the name of the chart, which in turn changes the name of the containers, services etc.
|
|
nameOverride: ""
|
|
fullnameOverride: ""
|
|
|
|
# Override the deployment namespace
|
|
global: {}
|
|
# global:
|
|
# namespaceOverride: ""
|
|
|
|
replicas: 3
|
|
port: 27017
|
|
|
|
## Setting this will skip the replicaset and user creation process during bootstrapping
|
|
skipInitialization: false
|
|
|
|
replicaSetName: rs0
|
|
|
|
podDisruptionBudget: {}
|
|
# maxUnavailable: 1
|
|
# minAvailable: 2
|
|
|
|
# updateStrategy:
|
|
# type: RollingUpdate
|
|
|
|
auth:
|
|
enabled: false
|
|
existingKeySecret: ""
|
|
existingAdminSecret: ""
|
|
existingMetricsSecret: ""
|
|
# adminUser: username
|
|
# adminPassword: password
|
|
# metricsUser: metrics
|
|
# metricsPassword: password
|
|
# key: keycontent
|
|
|
|
## Optionally specify an array of imagePullSecrets.
|
|
## Secrets must be manually created in the namespace.
|
|
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
|
|
##
|
|
imagePullSecrets: []
|
|
# - myRegistrKeySecretName
|
|
|
|
# Specs for the Docker image for the init container that establishes the replica set
|
|
installImage:
|
|
repository: unguiculus/mongodb-install
|
|
tag: 0.7
|
|
pullPolicy: IfNotPresent
|
|
|
|
# Specs for the Docker image for the copyConfig init container
|
|
copyConfigImage:
|
|
repository: busybox
|
|
tag: 1.29.3
|
|
pullPolicy: IfNotPresent
|
|
|
|
# Specs for the MongoDB image
|
|
image:
|
|
repository: mongo
|
|
tag: 3.6
|
|
pullPolicy: IfNotPresent
|
|
|
|
# Additional environment variables to be set in the container
|
|
extraVars: {}
|
|
# - name: TCMALLOC_AGGRESSIVE_DECOMMIT
|
|
# value: "true"
|
|
|
|
# Prometheus Metrics Exporter
|
|
metrics:
|
|
enabled: false
|
|
image:
|
|
repository: bitnami/mongodb-exporter
|
|
tag: 0.11.0
|
|
pullPolicy: IfNotPresent
|
|
port: 9216
|
|
path: "/metrics"
|
|
prometheusServiceDiscovery: true
|
|
resources: {}
|
|
securityContext:
|
|
enabled: true
|
|
runAsUser: 1001
|
|
|
|
serviceAccount: ""
|
|
|
|
# Annotations to be added to MongoDB pods
|
|
podAnnotations: {}
|
|
|
|
securityContext:
|
|
enabled: true
|
|
runAsUser: 999
|
|
fsGroup: 999
|
|
runAsNonRoot: true
|
|
|
|
init:
|
|
resources: {}
|
|
timeout: 900
|
|
|
|
resources: {}
|
|
# limits:
|
|
# cpu: 500m
|
|
# memory: 512Mi
|
|
# requests:
|
|
# cpu: 100m
|
|
# memory: 256Mi
|
|
|
|
## Node selector
|
|
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
|
|
nodeSelector: {}
|
|
|
|
affinity: {}
|
|
|
|
tolerations: []
|
|
|
|
# Additional containers to add to the StatefulSet
|
|
extraContainers: []
|
|
# - name: mongo-sidecar
|
|
# image: stefanprodan/mgob:latest
|
|
# ports:
|
|
# - name: sidecar-http
|
|
# containerPort: 8090
|
|
# volumeMounts:
|
|
# - mountPath: /config/test1.yml
|
|
# name: mgob-config
|
|
# subPath: test1.yml
|
|
# - name: mgob-storage
|
|
# mountPath: /storage
|
|
|
|
extraLabels: {}
|
|
|
|
## Additional volumes which can be used by sidecar containers
|
|
extraVolumes: []
|
|
# - name: mgob-config
|
|
# configMap:
|
|
# name: mgob-config
|
|
|
|
priorityClassName: ""
|
|
|
|
persistentVolume:
|
|
enabled: true
|
|
## mongodb-replicaset data Persistent Volume Storage Class
|
|
## If defined, storageClassName: <storageClass>
|
|
## If set to "-", storageClassName: "", which disables dynamic provisioning
|
|
## If undefined (the default) or set to null, no storageClassName spec is
|
|
## set, choosing the default provisioner. (gp2 on AWS, standard on
|
|
## GKE, AWS & OpenStack)
|
|
##
|
|
storageClass: ""
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
size: 10Gi
|
|
annotations: {}
|
|
|
|
# Annotations to be added to the secrets
|
|
secretAnnotations: {}
|
|
|
|
# Annotations to be added to the service
|
|
serviceAnnotations: {}
|
|
|
|
# Annotations to be added to the statefulSet
|
|
statefulSetAnnotations: {}
|
|
|
|
terminationGracePeriodSeconds: 30
|
|
|
|
tls:
|
|
# Enable or disable MongoDB TLS support
|
|
enabled: false
|
|
# Set the SSL operation mode (disabled|allowSSL|preferSSL|requireSSL)
|
|
mode: requireSSL
|
|
# Please generate your own TLS CA by generating it via:
|
|
# $ openssl genrsa -out ca.key 2048
|
|
# $ openssl req -x509 -new -nodes -key ca.key -days 10000 -out ca.crt -subj "/CN=mydomain.com"
|
|
# After that you can base64 encode it and paste it here:
|
|
# $ cat ca.key | base64 -w0
|
|
# cacert:
|
|
# cakey:
|
|
|
|
# Entries for the MongoDB config file
|
|
configmap: {}
|
|
|
|
# Javascript code to execute on each replica at initContainer time
|
|
# This is the recommended way to create indexes on replicasets.
|
|
# Below is an example that creates indexes in foreground on each replica in standalone mode.
|
|
# ref: https://docs.mongodb.com/manual/tutorial/build-indexes-on-replica-sets/
|
|
# initMongodStandalone: |+
|
|
# db = db.getSiblingDB("mydb")
|
|
# db.my_users.createIndex({email: 1})
|
|
initMongodStandalone: ""
|
|
|
|
# Readiness probe
|
|
readinessProbe:
|
|
initialDelaySeconds: 5
|
|
timeoutSeconds: 1
|
|
failureThreshold: 3
|
|
periodSeconds: 10
|
|
successThreshold: 1
|
|
|
|
# Liveness probe
|
|
livenessProbe:
|
|
initialDelaySeconds: 30
|
|
timeoutSeconds: 5
|
|
failureThreshold: 3
|
|
periodSeconds: 10
|
|
successThreshold: 1
|
|
|
|
# Startup probe, will only be added since Kubernetes v1.16 or higher
|
|
# When you have a lot of collections/indices, MongoDB need some time to start
|
|
startupProbe:
|
|
initialDelaySeconds: 5
|
|
timeoutSeconds: 5
|
|
failureThreshold: 60
|
|
periodSeconds: 10
|
|
successThreshold: 2
|
|
|
|
# Enables/disables the headless client service
|
|
clientService:
|
|
enabled: true
|