Skip to content

Commit 21060b5

Browse files
committed
ee4b6dfd85b95e8db9faebcb46b5ecd19a1ee8e2: update public repo contents
1 parent 5d9fa55 commit 21060b5

16 files changed

+1140
-454
lines changed

README.md

Lines changed: 39 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,41 @@
11
# MongoDB Enterprise Kubernetes Operator #
22

3-
Welcome to the MongoDB Enterprise Kubernetes Operator. The Operator enables easy deploys of MongoDB into Kubernetes clusters, using our management, monitoring and backup platforms, Ops Manager and Cloud Manager. By installing this integration, you will be able to deploy MongoDB instances with a single simple command.
3+
Welcome to the MongoDB Enterprise Kubernetes Operator. The Operator enables easy deploy of the following applications into Kubernetes clusters:
4+
* MongoDB - Replica Sets, Sharded Clusters and Standalones, with authentication, TLS and many more options.
5+
* Ops Manager - our enterprise management, monitoring and backup platform for MongoDB. The Operator can install and manage Ops Manager in Kubernetes for you.
6+
7+
The Operator requires access to one of our database management tools - Ops Manager or Cloud Manager - to deploy MongoDB instances.
8+
You may run Ops Manager either inside or outside Kubernetes, or may use Cloud Manager (cloud.mongodb.com) instead.
49

510
The Operator is currently Generally Available, supported by the [MongoDB Support Team](https://support.mongodb.com/). If you need urgent help, please file a support ticket.
611
For non-urgent requests, you may file a Github Issue here in the repo.
712

8-
As of recent releases, the Operator allows you to deploy Ops Manager into Kubernetes. This feature is in **beta**. For more information, see below.
9-
1013
You can discuss this integration in our new [Community Forum](https://community.mongodb.com/) - please use the tag [enterprise-kubernetes-operator](https://community.mongodb.com/tags/enterprise-kubernetes-operator).
1114

1215
## Documentation ##
1316

1417
[Install Kubernetes Operator](https://docs.opsmanager.mongodb.com/current/tutorial/install-k8s-operator)
1518

16-
[Deploy Standalone](https://docs.opsmanager.mongodb.com/current/tutorial/deploy-standalone)
17-
18-
[Deploy Replica Set](https://docs.opsmanager.mongodb.com/current/tutorial/deploy-replica-set)
19+
[Deploy MongoDB](https://docs.mongodb.com/kubernetes-operator/stable/mdb-resources/)
1920

20-
[Deploy Sharded Cluster](https://docs.opsmanager.mongodb.com/current/tutorial/deploy-sharded-cluster)
21+
[Deploy Ops Manager](https://docs.mongodb.com/kubernetes-operator/stable/om-resources/)
2122

22-
[Edit Deployment](https://docs.opsmanager.mongodb.com/current/tutorial/edit-deployment)
23+
[MongoDB Resource Specification](https://docs.opsmanager.mongodb.com/current/reference/k8s-operator-specification)
2324

24-
[Kubernetes Resource Specification](https://docs.opsmanager.mongodb.com/current/reference/k8s-operator-specification)
25+
[Ops Manager Resource Specification](https://docs.mongodb.com/kubernetes-operator/stable/reference/k8s-operator-om-specification/)
2526

2627
[Troubleshooting Kubernetes Operator](https://docs.opsmanager.mongodb.com/current/reference/troubleshooting/k8s/)
2728

2829
[Known Issues for Kubernetes Operator](https://docs.opsmanager.mongodb.com/current/reference/known-issues-k8s-beta)
2930

3031
## Requirements ##
3132

32-
The MongoDB Enterprise Operator is compatible with Kubernetes v1.13 and above. It has been tested against Openshift 3.11.
33+
Please refer to the [Installation Instructions](https://docs.mongodb.com/kubernetes-operator/stable/tutorial/plan-k8s-operator-install/)
34+
to see which Kubernetes and Openshift versions the Operator is compatible with
3335

34-
This Operator requires [Ops Manager](https://docs.opsmanager.mongodb.com/current/) or [Cloud Manager](https://cloud.mongodb.com/user#/cloud/login). In this document, when we refer to "Ops Manager", you may substitute "Cloud Manager". The functionality is the same.
36+
To work with MongoDB resource this Operator requires [Ops Manager](https://docs.opsmanager.mongodb.com/current/) (Ops Manager can
37+
be installed into the same Kubernetes cluster by the Operator or installed outside of the cluster manually)
38+
or [Cloud Manager](https://cloud.mongodb.com/user#/cloud/login).
3539
> If this is your first time trying the Operator, Cloud Manager is easier to get started
3640
3741

@@ -59,7 +63,7 @@ This will create a new `crd` in your cluster, `MongoDB`. This new object will be
5963

6064
#### Operator Installation
6165

62-
* In order to install the Operator in OpenShift, please follow [these](openshift-install.md) instructions instead.
66+
> In order to install the Operator in OpenShift, please follow [these](openshift-install.md) instructions instead.
6367
6468
This operator can also be installed using yaml files, in case you are not using Helm. You may apply the config directly from github clone this repo, and apply the file
6569

@@ -85,7 +89,7 @@ You need to specify the image pull secret name using `--set registry.imagePullSe
8589

8690
Check the end of the page for instructions on how to remove the Operator.
8791

88-
## MongoDB object ##
92+
## MongoDB Resource ##
8993

9094
*This section describes how to create the MongoDB resource. Follow the next section on how to work with Ops Manager resource.*
9195

@@ -146,34 +150,32 @@ Programmatic API Key. These will be held by Kubernetes as a `Secret` object. You
146150
$ kubectl -n mongodb create secret generic my-credentials --from-literal="user=some@example.com" --from-literal="publicApiKey=my-public-api-key"
147151
```
148152

149-
### Creating a MongoDB Object ###
153+
### Creating a MongoDB Resource ###
150154

151-
A MongoDB object in Kubernetes is a MongoDB (short name `mdb`). We are going to create a replica set to test that everything is working as expected. There is a MongoDB replica set yaml file in `samples/mongodb/minimal/replica-set.yaml`.
155+
A MongoDB resource in Kubernetes is a MongoDB (short name `mdb`). We are going to create a replica set to test that everything is working as expected. There is a MongoDB replica set yaml file in `samples/mongodb/minimal/replica-set.yaml`.
152156

153157
If you have a correctly created Project with the name `my-project` and Credentials stored in a secret called `my-credentials` then, after applying this file then everything should be running and a new Replica Set with 3 members should soon appear in Ops Manager UI.
154158

155159
kubectl apply -f samples/mongodb/minimal/replica-set.yaml
156160

157-
## Ops Manager object (Beta) ##
161+
## MongoDBOpsManager Resource ##
158162

159-
This section describes how to create the Ops Manager object in Kubernetes. Note, that this requires all
163+
This section describes how to create the Ops Manager Custom Resource in Kubernetes. Note, that this requires all
160164
the CRDs and the Operator application to be installed as described above.
161165

162-
*Disclaimer: this is a Beta release of Ops Manager - so it's not recommended to use it in production*
163-
164166
### Create Admin Credentials Secret ###
165167

166-
Before creating the Ops Manager object you need to prepare the information about the admin user which will be
168+
Before creating the Ops Manager resource you need to prepare the information about the admin user which will be
167169
created automatically in Ops Manager. You can use the following command to do it:
168170

169171
```bash
170172
$ kubectl create secret generic ops-manager-admin-secret --from-literal=Username="jane.doe@example.com" --from-literal=Password="Passw0rd." --from-literal=FirstName="Jane" --from-literal=LastName="Doe" -n <namespace>
171173
```
172174

173175
Note, that the secret is needed only during the initialization of the Ops Manager object - you can remove it or
174-
clean the password field after the Ops Manager object was created
176+
change the password using Ops Manager UI after the Ops Manager object was created
175177

176-
### Create Ops Manager Object ###
178+
### Create MongoDBOpsManager Resource ###
177179

178180
Use the file `samples/ops-manager/ops-manager.yaml`. Edit the fields and create the object in Kubernetes:
179181

@@ -183,32 +185,40 @@ $ kubectl apply -f samples/ops-manager/ops-manager.yaml
183185

184186
Note, that it takes up to 8 minutes to initialize the Application Database and start Ops Manager.
185187

186-
### (Optionally) Create a MongoDB Object Referencing the New Ops Manager
188+
### (Optionally) Create a MongoDB Resource Referencing the MongoDBOpsManager
187189

188190
Now you can use the Ops Manager application to create MongoDB objects. You need to follow the
189-
[instructions](https://docs.mongodb.com/kubernetes-operator/stable/tutorial/install-k8s-operator/#onprem-prerequisites)
190-
to prepare keys and enable network access to Ops Manager.
191+
[instructions](https://docs.mongodb.com/kubernetes-operator/stable/tutorial/create-operator-credentials/#prerequisites)
192+
to prepare keys and enable network access to Ops Manager.
193+
Then you need to perform the standard steps necessary to create MongoDB resource:
194+
* Create a [credentials Secret](https://docs.mongodb.com/kubernetes-operator/stable/tutorial/create-operator-credentials/#create-k8s-credentials)
195+
* Create a [connection ConfigMap](https://docs.mongodb.com/kubernetes-operator/stable/tutorial/create-project-using-configmap/)
196+
* Note, that you should use the value from `status.opsManager.url` in MongoDBOpsManager Resource as a value for `baseUrl` field in the ConfigMap
197+
198+
## Accessing Ops Manager UI (from a browser)
191199

192-
In order to access Ops Manager UI, from outside the Kubernetes cluster (from browser), make sure you enable
193-
`spec.externalConnectivity` in the Ops Manager resource definition.
200+
In order to access Ops Manager UI, from outside the Kubernetes cluster (from a browser), make sure you enable
201+
`spec.externalConnectivity` in the Ops Manager resource definition. The easiest way is by configuring the LoadBalancer service type.
194202

195203
You will be able to fetch the URL to connect to Ops Manager UI from the `Service` created by the Operator.
196204

197205
## Deleting the Operator ##
198206

199-
It's important to keep correct order or removal operations. The simple rule is: **never remove Operator before mongodb resources**!
207+
It's important to keep correct order or removal operations. The simple rule is: **never remove Operator before MongoDB resources**!
200208
The reason is that the Operator cleans state in Ops Manager on deletion of the MongoDB resource in Kubernetes.
201209

202210
These are the correct steps to remove any MongoDB Operator resources:
203211

204212
```bash
205-
# these three operations must be called first!
213+
# this operation must be called first!
206214
kubectl delete mdb --all -n <namespace>
207215

208216
# any of the following commands must be called after removing all existing mongodb resources
209217
kubectl delete namespace <namespace>
210218
kubectl delete deployment mongodb-enterprise-operator -n <namespace>
211219
kubectl delete crd/mongodb.mongodb.com
220+
kubectl delete crd/opsmanagers.mongodb.com
221+
kubectl delete crd/mongodbusers.mongodb.com
212222
```
213223

214224
## Contributing

0 commit comments

Comments
 (0)