Deploy a Standalone MongoDB Instance
On this page
Note
At any place on this page that says Ops Manager, you can substitute Cloud Manager.
Important
You can use the Kubernetes Operator to deploy MongoDB resources with Cloud Manager and with Ops Manager version 6.0.x or later.
You can use the Atlas Operator to deploy MongoDB resources to Atlas.
You can deploy a standalone MongoDB instance for Ops Manager to manage. Use standalone instances for testing and development. Do not use these deployments for production systems as they lack replication and high availability. For all production deployments use replica sets. To learn about replica sets, see Deploy a Replica Set.
Prerequisites
To deploy a standalone using an object, you must:
Have or create an Ops Manager instance or a Cloud Manager organization.
Have or install the MongoDB Enterprise Kubernetes Operator.
Create or generate a Kubernetes Operator ConfigMap.
Create credentials for the Kubernetes Operator or configure a different secret storage tool.
Note
To avoid storing secrets in single-cluster Kubernetes deployments, you can migrate all secrets to a secret storage tool. Deployments on multiple Kubernetes clusters don't support storing secrets in secret storage tools, such as HashiCorp Vault.
Procedure
Configure kubectl
to default to your namespace.
If you have not already, run the following command to execute all
kubectl
commands in the namespace you created.
Note
If you are deploying an Ops Manager resource in a multi-Kubernetes cluster MongoDB 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 MongoDB deployment, such as:kubectl config --namespace "mongodb"
.
kubectl config set-context $(kubectl config current-context) --namespace=<metadata.namespace>
Copy the following example standalone Kubernetes object.
This is a YAML file that you can modify to meet your desired configuration. Change the highlighted settings to match your desired standalone configuration.
apiVersion: mongodb.com/v1 kind: MongoDB metadata: name: <my-standalone> spec: version: "4.2.2-ent" opsManager: configMapRef: name: <configMap.metadata.name> # Must match metadata.name in ConfigMap file credentials: <mycredentials> type: Standalone persistent: true ...
Open your preferred text editor and paste the object specification into a new text file.
Configure the settings highlighted in the preceeding step as follows.
Key | Type | Description | Example |
---|---|---|---|
string | Label for this Kubernetes standalone object. Resource names must be 44 characters or less. To learn more, see | my-project | |
string | Version of MongoDB that is installed on this standalone. The format should be IMPORTANT: Ensure that you choose a compatible MongoDB Server version. Compatible versions differ depending on the base image that the MongoDB database resource uses. To learn more about MongoDB versioning, see MongoDB Versioning in the MongoDB Manual. | For best results, use the latest available enterprise MongoDB version that is compatible with your Ops Manager version. | |
string | Name of the ConfigMap with the Ops Manager connection
configuration. The
This value must exist on the same namespace as the resource you want to create. | <myproject> | |
string | Name of the secret you created as Ops Manager API authentication credentials for the Kubernetes Operator to communicate with Ops Manager. The Ops Manager Kubernetes Secret object holding the Credentials must exist on the same Namespace as the resource you want to create. IMPORTANT: The Kubernetes Operator tracks any changes to the Secret
and reconciles the state of the | <mycredentials> | |
string | Type of MongoDB resource to create. | Standalone | |
string | Optional. If this value is To change your Persistent Volume Claims configuration, configure the following collections to meet your deployment requirements:
WARNING: Grant your containers permission to write to your Persistent Volume.
The Kubernetes Operator sets If you do not use Persistent Volumes, the Disk Usage and Disk IOPS charts cannot be displayed in either the Processes tab on the Deployment page or in the Metrics page when reviewing the data for this deployment. | true |
Add any additional accepted settings for a Standalone deployment.
You can also add any of the following optional settings to the object specification file for a Standalone deployment:
Track the status of your standalone deployment.
To check the status of your MongoDB
resource, use the following
command:
kubectl get mdb <resource-name> -o yaml -w
With the -w
(watch) flag set, when the configuration changes, the output
refreshes immediately until the status phase achieves the Running
state.
To learn more about resource deployment statuses, see Troubleshoot the Kubernetes Operator.
To troubleshoot your sharded cluster, see: