Docs Menu

Docs HomeMongoDB Enterprise Kubernetes Operator

Deploy an Ops Manager Resource

On this page

  • Considerations
  • Procedure

You can deploy Ops Manager as a resource in a Kubernetes container using the Kubernetes Operator.

The following considerations apply:

When you configure your Ops Manager deployment, you must choose whether to run connections over HTTPS or HTTP.

The following HTTPS procedure:

  • Establishes TLS-encrypted connections to/from the Ops Manager application.

  • Establishes TLS-encrypted connections between the application database's replica set members.

  • Requires valid certificates for TLS encryption.

The following HTTP procedure:

  • Doesn't encrypt connections to or from the Ops Manager application.

  • Doesn't encrypt connections between the application database's replica set members.

  • Has fewer setup requirements.

When running over HTTPS, Ops Manager runs on port 8443 by default.

Select the appropriate tab based on whether you want to encrypt your Ops Manager and application database connections with TLS.

To deploy an Ops Manager instance in the central cluster and connect to it, use the following procedures:

These procedures are the same as the procedures for single clusters deployed with the Kubernetes Operator with the following exceptions:

  • Set the context and the namespace.

    If you are deploying an Ops Manager resource in a multi-Kubernetes-cluster deployment:

    • Set the context to the name of the central cluster, such as: kubectl config set context "$MDB_CENTRAL_CLUSTER_FULL_NAME".

    • Set the --namespace to the same scope that you used for your multi-Kubernetes-cluster deployment, such as: kubectl config --namespace "mongodb".

  • Configure external connectivity for Ops Manager.

    To connect member clusters to the Ops Manager resource's deployment in the central cluster in a multi-Kubernetes-cluster deployment, use one of the following methods:

    • Set the spec.externalConnectivity to true and specify the Ops Manager port in it. Use the ops-manager-external.yaml example script, modify it to your needs, and apply the configuration. For example, run:

      kubectl apply \
      --context "$MDB_CENTRAL_CLUSTER_FULL_NAME" \
      --namespace "mongodb" \
      -f https://raw.githubusercontent.com/mongodb/mongodb-enterprise-kubernetes/master/samples/ops-manager/ops-manager-external.yaml
    • Add the central cluster and all member clusters to the same service mesh. The service mesh establishes communication from the the central and all member clusters to the Ops Manager instance. To learn more, see the Multi-Kubernetes-Cluster Quick Start procedures and see the step that references the istio-injection=enabled label for Istio. Also, see Automatic sidecar injection in the Istio documentation.

  • Deploy Ops Manager and the Application Database on the central cluster.

    You can choose to deploy Ops Manager and the Application Database only on the central cluster, using the same procedure as for single Kubernetes clusters. To learn more, see Deploy an Ops Manager instance on the central cluster with TLS encryption.

  • Deploy Ops Manager on the central cluster and the Application Database on selected member clusters.

    You can choose to deploy Ops Manager on the central cluster and the Application Database on a subset of selected member clusters, to increase the Application Database's resilience and availability in Ops Manager. Configure the following settings in the Ops Manager CRD:

    • Use topology to specify the MultiCluster value.

    • Specify the clusterSpecList and include in it the clusterName of each selected Kubernetes member cluster on which you want to deploy the Application Database, and the number of members (MongoDB nodes) in each Kubernetes member cluster.

    Note

    If you deploy the Application Database on selected member clusters in your multi-Kubernetes-cluster deployment, you must include the central cluster and member clusters in the same service mesh configuration. This enables bi-directional communication from Ops Manager to the Application Database.

    To learn more, see Deploy Ops Manager, review the multi-Kubernetes-cluster deployment example and specify MultiCluster for topology.

←  Plan Your Ops Manager ResourceConfigure an Ops Manager Resource to use Remote Mode →