Files
Bernard Grymonpon 79190dbf2e [stable/mongodb-replicaset] liveness/startupProbe tuning (#23046)
* 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>
2020-07-14 07:17:21 -07:00

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