Navigation
This version of the documentation is archived and no longer supported. To learn how to upgrade your version of MongoDB Kubernetes Operator, refer to the upgrade documentation.

Prerequisites

On this page

Procedure

To install the MongoDB Kubernetes Operator, you must:

1

Have a Kubernetes solution available to use.

If you need a Kubernetes solution, see the Kubernetes documentation on picking the right solution.

2

Clone the MongoDB Enterprise Kubernetes Operator repository.

git clone https://github.com/mongodb/mongodb-enterprise-kubernetes.git

Note

You can use Helm to install the Kubernetes Operator. To learn how to install Helm, see its documentation on GitHub.

3

Create a namespace for your Kubernetes deployment.

By default, The Kubernetes Operator uses the mongodb namespace. To simplify your installation, consider creating a namespace labeled mongodb using the following kubectl command:

kubectl create namespace mongodb

If you do not want to use the mongodb namespace, you can label your namespace anything you like:

kubectl create namespace <namespaceName>
4
5

Required for OpenShift Installs: Create a secret that contains credentials authorized to pull images from the registry.connect.redhat.com repository.

  1. If you have not already, obtain a Red Hat subscription.

  2. Create a Registry Service Account.

  3. Click on your Registry Service Account, then click the Docker Configuration tab.

  4. Download the <account-name>-auth.json file and open it in a text editor.

  5. Copy the registry.redhat.io object, and paste another instance of this object into the file. Remember to add a comma after the first object. Rename the second object registry.connect.redhat.com, then save the file:

    {
      "auths": {
        "registry.redhat.io": {
          "auth": "<encoded-string>"
        },
        "registry.connect.redhat.com": {
          "auth": "<encoded-string>"
        }
      }
    }
    
  6. Create a openshift-pull-secret.yaml file with the contents of the modified <account-name>-auth.json file as stringData named .dockerconfigjson:

    apiVersion: v1
    kind: Secret
    metadata:
      name: openshift-pull-secret
    stringData:
      .dockerconfigjson: |
          {
            "auths": {
              "registry.redhat.io": {
                "auth": "<encoded-string>"
              },
              "registry.connect.redhat.com": {
                "auth": "<encoded-string>"
              }
            }
          }
    type: kubernetes.io/dockerconfigjson
    

    The value you provide in the metadata.name field contains the secret name. Provide this value when asked for the <openshift-pull-secret>.

  7. Create a secret from the openshift-pull-secret.yaml file:

    oc apply -f openshift-pull-secret.yaml -n <namespace>