Navigation

MongoDB Enterprise Kubernetes Operator Helm Installation Settings

To provide optional settings, pass them to Helm using the --set argument. Use the following files that list value settings for your deployment type:

To learn about optional Kubernetes Operator installation settings, see Operator Helm Installation Settings.

Run the command as in the following example and the options that you specified will be passed to your configuration:

helm upgrade enterprise-operator mongodb/enterprise-operator \
  --set registry.pullPolicy='IfNotPresent'

appDb.name

Name of the Application Database image.

The default value is mongodb-enterprise-appdb.

Example

appDb:
  name: mongodb-enterprise-appdb
  version: 10.2.15.5958-1_4.2.11-ent

appDb.version

Version of the image that contains the MongoDB Agent that the Application Database uses.

The default value is 10.2.15.5958-1_4.2.11-ent.

Example

appDb:
  name: mongodb-enterprise-appdb
  version: 10.2.15.5958-1_4.2.11-ent

database.name

Name of the MongoDB Enterprise Database image.

The default value is mongodb-enterprise-database.

Example

database:
  name: mongodb-enterprise-database
  version: 2.0.0

database.version

Version of the MongoDB Enterprise Database image that the Kubernetes Operator deploys.

Example

database:
  name: mongodb-enterprise-database
  version: 2.0.0

initAppDb.name

Name of the initContainer image that contains the Application Database start-up scripts and the readiness probe.

The default value is mongodb-enterprise-init-appdb.

Example

database:
  name: mongodb-enterprise-init-appdb
  version: 1.0.6

initAppDb.version

Version of the initContainer image that contains the Application Database start-up scripts and the readiness probe.

The default value is 1.0.6.

Example

database:
  name: mongodb-enterprise-init-appdb
  version: 1.0.6

initDatabase.name

Name of the initContainer image that contains the MongoDB Agent start-up scripts and the readiness probe.

The default value is mongodb-enterprise-init-database.

Example

database:
  name: mongodb-enterprise-init-database
  version: 1.0.2

initDatabase.version

Version of the initContainer image that contains the MongoDB Agent start-up scripts and the readiness probe.

The default value is 1.0.2.

Example

database:
  name: mongodb-enterprise-init-database
  version: 1.0.2

initOpsManager.name

Version of the initContainer image that contains the Ops Manager start-up scripts and the readiness probe.

The default value is mongodb-enterprise-init-ops-manager.

Example

database:
  name: mongodb-enterprise-init-ops-manager
  version: 1.0.3

initOpsManager.version

Version of the initContainer image that contains the Ops Manager start-up scripts and the readiness probe.

The default value is 1.0.3.

Example

database:
  name: mongodb-enterprise-init-ops-manager
  version: 1.0.3

managedSecurityContext

Flag that determines whether or not the Kubernetes Operator inherits the securityContext settings that your Kubernetes cluster manages.

This value must be true if you want to run the Kubernetes Operator in OpenShift or in a restrictive environment.

The default value is false.

Example

# Set this to true if your cluster is managing SecurityContext for you.
# If running OpenShift (Cloud, Minishift, etc.), set this to true.
managedSecurityContext: false

The default value is true.

Example

# Set this to true if your cluster is managing SecurityContext for you.
# If running OpenShift (Cloud, Minishift, etc.), set this to true.
managedSecurityContext: true

mongodb.appdbAssumeOldFormat

In Kubernetes Operator 1.20, the container registry changed for the application database image and the images use a new tag suffix. When you upgrade the Kubernetes Operator, the Kubernetes Operator automatically updates the earlier suffix, -ent, for all images that reference the new container registry to -ubi8 or the suffix set in MDB_IMAGE_TYPE or mongodb.imageType.

For example, the Kubernetes Operator changes quay.io/mongodb/mongodb-enterprise-server:4.4.5-ent to quay.io/mongodb/mongodb-enterprise-server:4.4.5-ubi8.

To stop the Kubernetes Operator from automatically updating the suffix, set MDB_APPDB_ASSUME_OLD_FORMAT or mongodb.appdbAssumeOldFormat to true. For example, you might want to stop the automatic suffix change if you’re mirroring this image from your own repository.

The default value is false, which automatically updates the image suffix.

Example

mongodb:
  appdbAssumeOldFormat: false

mongodb.imageType

The suffix of the application database image.

In Kubernetes Operator 1.20, the container registry changed for the application database image and the images use a new tag suffix. When you upgrade the Kubernetes Operator, the Kubernetes Operator automatically updates the earlier suffix, -ent, for all images that reference the new container registry to -ubi8 or the suffix set in MDB_IMAGE_TYPE or mongodb.imageType.

For example, the Kubernetes Operator changes quay.io/mongodb/mongodb-enterprise-server:4.4.5-ent to quay.io/mongodb/mongodb-enterprise-server:4.4.5-ubi8.

To stop the Kubernetes Operator from automatically updating the suffix, set MDB_APPDB_ASSUME_OLD_FORMAT or mongodb.appdbAssumeOldFormat to true. For example, you might want to stop the automatic suffix change if you’re mirroring this image from your own repository.

The default is ubi8. We recommend using only ubi images for consistency, but if you need to, you can change this setting to ubuntu2204.

Example

mongodb:
  imageType: ubi8

multiCluster.clusterClientTimeout

Time, in seconds, the Kubernetes Operator attempts to connect to a cluster’s Kubernetes API server endpoint. This timeout is set for all Kubernetes clusters in multi-Kubernetes-cluster deployments. If the Kubernetes Operator doesn’t get a response from the Kubernetes API server within the specified time, it logs the cluster’s status as “unhealthy”. To learn more, see Troubleshooting Kubernetes Clusters.

The default value is 10.

Example

multiCluster:
  clusterClientTimeout: 10

namespace

namespaces in which you want to deploy the Kubernetes Operator.

To use a namespace other than the default, specify the namespace in which you want to deploy the Kubernetes Operator.

The default value is mongodb.

Example

# Name of the Namespace to use
namespace: mongodb

needsCAInfrastructure

Flag that determines whether Kubernetes creates a ClusterRole that allows the Kubernetes Operator to sign TLS certificates using the certificates.k8s.io API.

Example

needsCAInfrastructure: true

The default value is true.

operator.deployment_name

Name of the Kubernetes Operator container.

The default value is mongodb-enterprise-operator.

Example

operator:
  deployment_name: mongodb-enterprise-operator

operator.env

Label for the Kubernetes Operators deployment environment. This value affects the default timeouts and the logging level and format:

If the value is Log Level is set to Log Format is set to
dev debug text
prod info json

The default value is prod.

Example

operator:
  # Execution environment for the operator, dev or prod.
  # Use dev for more verbose logging
  env: prod

operator.name

Name that Kubernetes assigns to Kubernetes Operator objects, such as Deployments, ServiceAccounts, Roles, and Pods.

This value also corresponds to the name of the container registry where the Kubernetes Operator is located.

The default value is mongodb-enterprise-operator.

Example

operator:
  name: mongodb-enterprise-operator

operator.version

Version of the Kubernetes Operator that you want to deploy.

The default value is upcoming.

Example

operator:
  version: upcoming

operator.watchNamespace

Namespaces that the Kubernetes Operator watches for MongoDB resource changes. If this namespace differs from the default, ensure that the Kubernetes Operator ServiceAccount can access this namespace.

  • To watch all namespaces, specify * and assign the ClusterRole to the mongodb-enterprise-operator ServiceAccount that you use to run the Kubernetes Operator.
  • To watch a subset of all namespaces, specify them in a comma-separated list, escape each comma with a backslash, and surround the list in quotes, such as "operator.watchNamespace=ns1\,ns2".

Watching a subset of namespaces is useful in deployments where a single Kubernetes Operator instance watches a different cluster resource type. For example, you can configure the Kubernetes Operator to watch MongoDB resources in one subset of namespaces, and to watch MongoDBMultiCluster resources in another subset of namespaces. To avoid race conditions during resource reconciliation, for each custom resource type that you want the Kubernetes Operator to watch, ensure that you set scope to a distinct subset of namespaces.

Important

To deploy Ops Manager and MongoDB resources to one or more namespaces other than the one where you deploy the Kubernetes Operator, see Set Scope for MongoDB Enterprise Kubernetes Operator Deployment for values you must use and additional steps you might have to perform.

The default value is <metadata.namespace>.

Example

# Watch one namespace
helm install enterprise-operator mongodb/enterprise-operator \
  --set operator.watchNamespace='namespace-to-watch' <...>

Example

# Watch both namespace-a and namespace-b
helm install enterprise-operator mongodb/enterprise-operator \
  --set operator.watchNamespace="namespace-a\,namespace-b"

Example

# Operator with name `mongodb-enterprise-operator-qa-envs` will
# watch ns-dev, ns-qa and ns-uat namespaces

helm install mongodb-enterprise-operator-qa-envs mongodb/enterprise-operator \
  --set operator.watchNamespace="ns-dev\,ns-qa\,ns-uat"

Example

# Operator with name `mongodb-enterprise-operator-staging` will
# watch ns-staging and ns-pre-prod
helm install mongodb-operator helm-chart --set operator.watchNamespace="ns-staging\,ns-pre-prod" mongodb-enterprise-operator-staging

operator.watchedResources

Custom resources that the Kubernetes Operator watches.

The Kubernetes Operator installs the CustomResourceDefinitions for and watches only the resources you specify.

The Kubernetes Operator accepts the following values:

Value Description
mongodb Install the CustomResourceDefinitions for database resources and watch those resources.
mongodbusers Install the CustomResourceDefinitions for MongoDB user resources and watch those resources.
opsmanagers Install the CustomResourceDefinitions for Ops Manager resources and watch those resources.

Example

operator:
  watchedResources:
    - mongodbusers
    - mongodb
    - opsmanagers

opsManager.name

Name of the Ops Manager image.

The default value is mongodb-enterprise-ops-manager.

Example

opsManager:
  name: mongodb-enterprise-ops-manager

registry.appDb

URL of the repository from which the Kubernetes Operator downloads the Application Database image.

The default value is quay.io/mongodb.

Example

registry:
  appDb: quay.io/mongodb

The default value is registry.connect.redhat.com/mongodb.

Example

registry:
  appDb: registry.connect.redhat.com/mongodb

registry.imagePullSecrets

secret that contains the credentials required to pull images from the repository.

Important

OpenShift requires this setting. Define it in the imagePullSecrets setting in this file or pass it when you install the Kubernetes Operator using Helm. If you use the Kubernetes Operator to deploy MongoDB resources to multiple namespaces or with a cluster-wide scope, create the secret only in the namespace where you installed the Kubernetes Operator. The Kubernetes Operator synchronizes the secret across all watched namespaces.

Example

registry:
# Specify the secret in the ``imagePullSecrets`` setting. If you
# use the MongoDB Kubernetes Operator to deploy MongoDB resources
# into multiple namespaces, create the secret only in the namespace
# where you installed the Operator. The Operator synchronizes
# the secret across all watched namespaces.
  imagePullSecrets: <openshift-pull-secret>

registry.initAppDb

URL of the repository from which the initContainer image that contains the Application Database start-up scripts and the readiness probe is downloaded.

The default value is quay.io/mongodb.

Example

registry:
  initAppDb: quay.io/mongodb

The default value is registry.connect.redhat.com/mongodb.

Example

registry:
  initAppDb: registry.connect.redhat.com/mongodb

registry.initOpsManager

URL of the repository from which the initContainer image that contains the Ops Manager start-up scripts and the readiness probe is downloaded.

The default value is quay.io/mongodb.

Example

registry:
  initOpsManager: quay.io/mongodb

The default value is registry.connect.redhat.com/mongodb.

Example

registry:
  initOpsManager: registry.connect.redhat.com/mongodb

registry.operator

Repository from which the Kubernetes Operator image is pulled. Specify this value if you want to pull the Kubernetes Operator image from a private repository.

The default value is quay.io/mongodb.

Example

registry:
  operator: quay.io/mongodb

The default value is registry.connect.redhat.com/mongodb.

Example

registry:
  operator: registry.connect.redhat.com/mongodb

registry.opsManager

URL of the repository from which the image for an Ops Manager resource is downloaded.

The default value is quay.io/mongodb.

Example

registry:
  opsManager: quay.io/mongodb

The default value is registry.connect.redhat.com/mongodb.

Example

registry:
  opsManager: registry.connect.redhat.com/mongodb

subresourceEnabled

Flag that indicates whether subresources can be defined in the Kubernetes Operator CustomResourceDefinition.

The default value is true.

Example

subresourceEnabled: true