Docs Menu
Docs Home
/
MongoDB Enterprise Kubernetes Operator
/ /

Scale a Deployment

On this page

  • Considerations
  • Procedure

You can scale your replica set and sharded cluster deployments up or down to match your desired configuration. Scaling up increases the number of members and/or shards in the deployment, thereby improving your deployment's redundancy and availability. The scale of your deployment is configured in its corresponding custom resource.

Scale a Replica Set
To scale your replica set deployment, set the spec.members setting to the desired number of replica set members. To learn more about replication, see Replication in the MongoDB manual.
Scale a Sharded Cluster

To scale your sharded cluster deployment, set the following settings as desired:

Setting
Description
Number of shards in the sharded cluster.
Number of members per shard.
Number of Shard Routers.
Number of members in the Config Server.

To learn more about sharded cluster configurations, see Sharded Cluster Components in the MongoDB manual.

  • The Kubernetes Operator does not support modifying deployment types. For example, you cannot convert a standalone deployment to a replica set. To modify the type of a deployment, we recommend the following procedure:

    1. Create the new deployment with the desired configuration.

    2. Back up the data from your current deployment.

    3. Restore the data from your current deployment to the new deployment.

    4. Test your application connections to the new deployment as needed.

    5. Once you have verified that the new deployment contains the required data and can be reached by your application(s), bring down the old deployment.

To scale up your deployment, select the desired tab based on the deployment configuration you want to scale:

1
---
apiVersion: mongodb.com/v1
kind: MongoDB
metadata:
name: <my-replica-set>
spec:
members: 3
version: "4.2.2-ent"
opsManager:
configMapRef:
# Must match metadata.name in ConfigMap file
name: <configMap.metadata.name>
credentials: <mycredentials>
type: ReplicaSet
persistent: true
...
spec:
members: 4
2
kubectl apply -f <repl-set-config>.yaml
1
---
apiVersion: mongodb.com/v1
kind: MongoDB
metadata:
name: <my-secure-sharded-cluster>
spec:
shardCount: 3
mongodsPerShardCount: 3
mongosCount: 3
configServerCount: 4
version: "4.2.2-ent"
opsManager:
configMapRef:
name: <configMap.metadata.name>
credentials: <mycredentials>
type: ShardedCluster
persistent: true
...
spec:
shardCount: 3
mongodsPerShardCount: 3
mongosCount: 3
configServerCount: 4
2
kubectl apply -f <sharded-cluster-config>.yaml

Back

Upgrade MongoDB