Docs Home → MongoDB Enterprise Kubernetes Operator
Deploy an Ops Manager Resource
On this page
You can deploy Ops Manager as a resource in a Kubernetes container using the Kubernetes Operator.
Considerations
The following considerations apply:
Encrypting Connections
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.
Deploying on the Central Cluster in a Multi-Kubernetes-Cluster Deployment
To deploy an Ops Manager instance in the central cluster and connect to it, use the following procedures:
Review the Ops Manager resource considerations and prerequisites
Deploy an Ops Manager instance on the central cluster with TLS encryption
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
totrue
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 theMultiCluster
value.Specify the
clusterSpecList
and include in it theclusterName
of each selected Kubernetes member cluster on which you want to deploy the Application Database, and the number ofmembers
(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
fortopology
.