A Helm Chart for installing and upgrading the MongoDB Community Kubernetes Operator.
If required, you can install the Custom Resource Definitions Helm Chart separately or as a dependency of this Chart.
If the community-operator-crds
Helm chart has been installed already, or if you
don't want to install the CRDs (because you have already installed them), then
you need to pass --set community-operator-crds.enabled=false
, when
installing the Operator.
You can install the MongoDB Community Operator easily with:
helm install community-operator mongodb/community-operator
This will install CRD
s and Community Operator in the current namespace
(default
by default). You can pass a different namespace with:
helm install community-operator mongodb/community-operator --namespace mongodb [--create-namespace]
To install the Community Operator in a namespace called mongodb
with the
optional --create-namespace
in case mongodb
didn't exist yet.
The Community Operator will be watching for resources of type
mongodbcommunity.mongodbcommunity.mongodb.com
; you can quickly install
a sample Mongo Database with:
kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-kubernetes-operator/master/config/samples/mongodb.com_v1_mongodbcommunity_cr.yaml [--namespace mongodb]
- Note: Make sure you add the
--namespace
option when needed. - Note 2: A new user will be created with a generic password. Make sure this is only used for testing purposes.
After a few minutes you will have a 3-member MongoDB Replica Set installed in your cluster, that you can check with:
$ kubectl get mdbc
NAME PHASE VERSION
example-mongodb Running 4.2.6
The Operator will create a Secret
object, per user, created as part of the
deployment of the MongoDB resource. Each Secret
will contain a Connection
String that can be mounted into a client application to connect to this MongoDB
instance.
The name of this Secret
object follows the convention1:
<mongodb-resource-name>-<database>-<username>
.
In our example, the above kubectl apply
command will create a MongoDB resource
with name example-mongodb
, with a user my-user
on the Database admin
. The
resulting Secret
will be named:
example-mongodb-admin-my-user
This Secret
object will contain the following attributes:
connectionString.standard
connectionString.standardSrv
username
password
A client application will be able to connect using the connectionString
attributes or the username
and password
ones.