Ops Tools
-
Deploy MongoDB across different Kubernetes clusters
MongoDB Operator can only deploy and manage MongoDB in a single Kubernetes cluster. However, for DR and global apps, it is important to deploy a single DataBase across multiple Kubernetes clusters to allow for DR or globally distributed apps.
39 votesThis feature is in beta: https://www.mongodb.com/docs/kubernetes-operator/master/multi-cluster/
-
14 votes
We are about to start working on signing our images with Docker content Trust.
-
Headless OPS Manager deployment
Currently Ops Manager CRD deployment requires configuration using GUI which is a manual step. An option completely define all OPS Manager settings / Org in declarative manner via yaml will be great in building completely automated CI/CD Pipelines
12 votes -
Support Arbiters with MongoDB Kubernetes Operator
Support arbiters with MongoDB Kubernetes Operator so that Replicasets should be deployed in PSA configuration.
12 votes -
Add Backup configuration to MongoDB Custom Resource
Allow configuration of backup settings in MongoDB Custom resource.
This includes management of backed up resources when updating, moving or deleting clusters10 votesWe are going to address this later in July-August.
When Backup configuration is straight forward, workflow around deleting or modifying it is a bit more complicated. We Would like to get it right. -
Define current limits of Kubernetes Operator
1.) What is the limiting factor of the Operator? Is it number of Pods, number of Custom Resources (e.g. MongoDB, MongoDBUser) or something else?
2.) What does the number of "Clusters" refer to? Does it differ for Standalone, ReplicaSet and ShardedCluster?
3.) How many instances of the "Clusters" in 2.) are supported per MongoDB Operator?
Is there any way to add this sort of data to our documentation?
Thanks
9 votes -
Introduce Helm Chart for MongoDB, MongoDBUser and secrets
Provide a helm chart that deploys MongoDB, MongoDBUser, secrets and all other resources needed.
The goal is to simplify the deployment of a MongoDB instance and everything that comes with it down to a helm one-liner.
9 votesWe have an example of a HELM chart that can deploy all resources.
We will be working on adding more refined charts
https://github.com/mongodb/mongodb-enterprise-kubernetes/tree/master/helm_chart -
7 votes
-
Allow the Kubernetes Operator to delete a project
Currently it is not possible to delete a project via kubectl command.
As the Kubernetes Operator allows one to create a project (configmap) and deploy a replica set, we would expect it to also allow the deletion of a project so that we can fully automate the solution.
6 votes -
Show Kubernetes resources in Ops Manager
Show some of the Kubernetes resources in Ops Manager
1. show namespaces in projects,
2. Show list of resources in cluster view6 votes -
Rotate mongo logs
When cluster is deployed, each mongo server start to generate a logfile "/var/log/mongodb-mms-automation/mongodb.log", we got an outage because it gets the disk full.
It will be useful if we can specify a value to rotate and purge the log.4 votes -
Allow S3 Oplog Store to be defined and configured using the Operator.
Ops Manager can utilize S3 storage for the Oplog Store. It should be possible to define and configure an S3 Oplog Store from the Operator.
4 votes -
sharding
Should provide sharding feature in community Operator.
4 votes -
adminCredentials secret should always be source of truth for OpsManager
The secret is only taken into account by OpsManager initially when OpsManager is deployed. As soon as the password of this user is changed in OpsManager, this secret is out of sync.
From the docs: "Use these credentials to log in to Ops Manager for the first time. Once Ops Manager is deployed, you should change the password or remove this secret."
https://docs.mongodb.com/kubernetes-operator/v1.4/tutorial/plan-om-resource/#prerequisitesOption 1: This secret should be in-sync with the OpsManager database. Preferably the sync should be from the k8s secret to the OpsManager database.
Option 2: Create a CRD "MongoDBOpsManagerUser" that handles User/Password management for OpsManager similar…
4 votes -
To setup number of backup daemons in ops-manager.yaml
In ops-manager.yaml, can we define the number of the initial backup daemons?
4 votes -
arm64 support for Kubernetes Operator
Arm64 processors are getting more and more popular. Would be really nice to be able to run MongoDB Kubernetes Operator on a Raspberry Pi cluster.
Otherwise, meanwhile would be nice to get documentation updated on how to produce arm64 images to still make it possible without having full CI infrastructure support.
3 votes -
Kubernetes Operator - Prefix Annotations and Labels
Labels and annotations added to Kubernetes resources by the MongoDB Enterprise Operator should include a prefix designating that it was added by MongoDB. The lack of a prefix suggests the field and values are private to the user.
For example, the MongoDB statefulset and service selector should use a label prefixed with a MongoDB domain.
https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set
3 votes -
Allow disabling Blockstore for assignment through the Ops Manager CRD
By default, when enabling backups and configuring a Blockstore for an Ops Manager custom object, the specified Blockstore will be set as "Assignment enabled" in the UI.
It would be helpful to expose the enable/disable button for the blockstore through the CRD since disabling it through the UI, results in the parameter being reverted every time the operator consolidates. This is useful for the case when more than a single store is configured and as a user you would like to disable the blockstore to make it unavailable for new backup jobs.
3 votes -
Create AppDB user with backup role to allow execution of mongodump
For the purpose of regularly performing backups of the AppDB using mongodump --oplog.
3 votes -
MongoDB kubernetes operator - follow recommended kubernetes object labeling -
Hi, i would like to thank you first for this operator, good job 👍 . It works well.
Did you consider using this label convention for objects (statefulset, svc, secrets) https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/?
Currently in my cluster Im trying to follow these recommended labels for objects while Im forwarding kubernetes logs using EFK but cannot store log to elasticsearch because there is object mapping for
kubernetes.labels.app
field as object not a concrete value. Right now there is hard-coded service selector https://github.com/mongodb/mongodb-kubernetes-operator/blob/1aa7093d2cc977bc3b1f5a5fa7e1e902d37768c8/controllers/replica_set_controller.go#L455 which expects pods to be labeled withapp=<serviceName>
Example labels following conventions for statefulset:
…apiVersion: apps/v1 kind: StatefulSet metadata: labels:
2 votes
- Don't see your idea?