This is a Kubernetes Operator which deploys MongoDB Community into Kubernetes clusters.
If you are a MongoDB Enterprise customer, or need Enterprise features such as Backup, you can use the MongoDB Enterprise Operator for Kubernetes.
Here is a talk from MongoDB Live 2020 about the Community Operator:
See the documentation to learn how to:
- Install or upgrade the Operator.
- Deploy and configure MongoDB resources.
- Create a database user with SCRAM authentication.
- Secure MongoDB resource connections using TLS.
NOTE: MongoDB Enterprise Kubernetes Operator docs are for the enterprise operator use case and NOT for the community operator. In addition to the docs mentioned above, you can refer to this blog post as well to learn more about community operator deployment
The MongoDB Community Kubernetes Operator supports the following features:
- Create replica sets
- Upgrade and downgrade MongoDB server version
- Scale replica sets up and down
- Read from and write to the replica set while scaling, upgrading, and downgrading. These operations are done in an "always up" manner.
- Report MongoDB server state via the MongoDBCommunity resource
status
field - Use any of the available Docker MongoDB images
- Connect to the replica set from inside the Kubernetes cluster (no external connectivity)
- Secure client-to-server and server-to-server connections with TLS
- Create users with SCRAM authentication
- Create custom roles
- Enable a metrics target that can be used with Prometheus
- Server internal authentication via keyfile
Before you contribute to the MongoDB Community Kubernetes Operator, please read:
- MongoDB Community Kubernetes Operator Architecture
- Contributing to MongoDB Community Kubernetes Operator
Please file issues before filing PRs. For PRs to be accepted, contributors must sign our CLA.
Reviewers, please ensure that the CLA has been signed by referring to the contributors tool (internal link).
Please see the LICENSE file.