Skip to content

Commit cc49625

Browse files
author
Rodrigo Valin
committed
b0b7d6982a0da5329e7198a647a9b7eeb12fcc67: update public repo contents
1 parent 1050e99 commit cc49625

24 files changed

+888
-120
lines changed

README.md

Lines changed: 16 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
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.
44

5-
Also the Operator allows to deploy Ops Manager into Kubernetes. Note, that currently this feature is **alpha**. See more information below.
5+
Also the Operator allows to deploy Ops Manager into Kubernetes. Note, that currently this feature is **beta**. See more information below.
66

77
You can discuss this integration in our [Slack](https://community-slack.mongodb.com) - join the [#enterprise-kubernetes](https://mongo-db.slack.com/messages/CB323LCG5/) channel.
88

@@ -56,6 +56,8 @@ This will create a new `crd` in your cluster, `MongoDB`. This new object will be
5656

5757
#### Operator Installation
5858

59+
* In order to install the Operator in OpenShift, please follow [these](openshift-install.md) instructions instead.
60+
5961
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
6062

6163
kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-enterprise-kubernetes/master/mongodb-enterprise.yaml
@@ -64,11 +66,6 @@ or clone this repo, make any edits you need, and apply it from your machine.
6466

6567
kubectl apply -f mongodb-enterprise.yaml
6668

67-
Use `mongodb-enterprise-openshift.yaml` if you want to install the Operator to an OpenShift cluster. You need to specify
68-
the image pull secret name to use images from RedHad Catalog.
69-
70-
Check the end of the page for instructions on how to remove the Operator.
71-
7269
### Installation using Helm Chart
7370

7471
If you have installed the Helm client locally then you can run (note that `helm install` is a less preferred way as makes upgrades more complicated.
@@ -87,16 +84,16 @@ Check the end of the page for instructions on how to remove the Operator.
8784

8885
## MongoDB object ##
8986

90-
*This section describes how to create the MongoDB resource. Follow the next section on how to work with Ops Manager resource.*
87+
*This section describes how to create the MongoDB resource. Follow the next section on how to work with Ops Manager resource.*
9188

9289
### Adding Ops Manager Credentials ###
9390

9491
For the Operator to work, you will need the following information:
9592

96-
* Base Url - the url of an Ops Manager instance, for Cloud Manger use `https://cloud.mongodb.com`.
93+
* Base URL - the URL of an Ops Manager instance (for Cloud Manger use `https://cloud.mongodb.com`)
9794
* Project Name - the name of an Ops Manager Project where MongoDBs will be deployed into. It will be created by Operator
9895
if it doesn't exist (and this is the recommended way instead of reusing the project created in OpsManager directly)
99-
* (optionally) Organization Id - the id of organization to which Project belongs
96+
* (optionally) Organization ID - the ID of the organization to which the Project belongs
10097
* User - an Ops Manager username
10198
* Public API Key - an Ops Manager Public API Key. Note that you must whitelist the IP range of your Kubernetes cluster so that the Operator may make requests to Ops Manager using this API Key.
10299

@@ -143,26 +140,26 @@ If you have a correctly created Project with the name `my-project` and Credentia
143140

144141
kubectl apply -f samples/mongodb/minimal/replicaset.yaml
145142

146-
## Ops Manager object (alpha) ##
143+
## Ops Manager object (Beta) ##
147144

148-
This section describes how to create the Ops Manager object in Kubernetes. Note, that this requires all
145+
This section describes how to create the Ops Manager object in Kubernetes. Note, that this requires all
149146
the CRDs and the Operator application to be installed as described above.
150147

151148
*Disclaimer: this is an early release of Ops Manager - so it's not recommended to use it in production*
152149

153150
### Create Admin Credentials Secret ###
154151

155-
Before creating the Ops Manager object you need to prepare the information about the admin user which will be
152+
Before creating the Ops Manager object you need to prepare the information about the admin user which will be
156153
created automatically in Ops Manager. You can use the following command to do it:
157154

158155
```bash
159156
$ kubectl create secret generic ops-manager-admin-secret --from-literal=Username="[email protected]" --from-literal=Password="Passw0rd." --from-literal=FirstName="Jane" --from-literal=LastName="Doe" -n <namespace>
160157
```
161158

162-
Note, that the secret is needed only during the initialization of the Ops Manager object - you can remove it or
159+
Note, that the secret is needed only during the initialization of the Ops Manager object - you can remove it or
163160
clean the password field after the Ops Manager object was created
164161

165-
### Create Ops Manager object ###
162+
### Create Ops Manager Object ###
166163

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

@@ -172,21 +169,16 @@ $ kubectl apply -f samples/ops-manager/ops-manager.yaml
172169

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

175-
### (Optionally) Create a MongoDB object referencing the new Ops Manager
172+
### (Optionally) Create a MongoDB Object Referencing the New Ops Manager
176173

177-
Now you can use the Ops Manager application to create MongoDB objects. You need to follow the
174+
Now you can use the Ops Manager application to create MongoDB objects. You need to follow the
178175
[instructions](https://docs.mongodb.com/kubernetes-operator/stable/tutorial/install-k8s-operator/#onprem-prerequisites)
179176
to prepare keys and enable network access to Ops Manager.
180177

181-
The Operator creates the NodePort service which can be used to access Ops Manager from external
182-
(and therefore access the UI from browser):
178+
In order to access Ops Manager UI, from outside the Kubernetes cluster (from browser), make sure you enable
179+
`spec.externalConnectivity` in the Ops Manager resource definition.
183180

184-
```bash
185-
$ kubectl get svc | grep <om-name>-svc-external
186-
om-svc-external NodePort 100.61.72.82 <none> 8080:30456/TCP 2m49s
187-
```
188-
Make sure that the firewall rules allow inbound traffic to the port on the host (`30456` in the example above)
189-
181+
You will be able to fetch the URL to connect to Ops Manager UI from the `Service` created by the Operator.
190182

191183
## Deleting the Operator ##
192184

crds.yaml

Lines changed: 103 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,10 @@ spec:
8787
type: boolean
8888
ca:
8989
type: string
90+
additionalCertificateDomains:
91+
type: array
92+
items:
93+
type: string
9094
connectivity:
9195
not:
9296
required: ["replicaSetHorizons"]
@@ -167,6 +171,10 @@ spec:
167171
type: boolean
168172
ca:
169173
type: string
174+
additionalCertificateDomains:
175+
type: array
176+
items:
177+
type: string
170178
clusterAuthenticationMode:
171179
# Warning: please refer to the documentation before enabling X509 in your MongoDB resource.
172180
# https://docs.mongodb.com/kubernetes-operator/
@@ -269,6 +277,10 @@ spec:
269277
type: boolean
270278
ca:
271279
type: string
280+
additionalCertificateDomains:
281+
type: array
282+
items:
283+
type: string
272284
clusterAuthenticationMode:
273285
# Warning: please refer to the documentation before enabling X509 in your MongoDB resource.
274286
# https://docs.mongodb.com/kubernetes-operator/
@@ -424,23 +436,113 @@ spec:
424436
replicas:
425437
minimum: 1
426438
type: integer
439+
externalConnectivity:
440+
type: object
441+
properties:
442+
type:
443+
type: string
444+
enum: ["LoadBalancer", "NodePort"]
445+
port:
446+
type: integer
447+
loadBalancerIP:
448+
type: string
449+
externalTrafficPolicy:
450+
type: string
451+
enum: ["Cluster", "Local"]
452+
annotations:
453+
type: object
454+
required:
455+
- type
427456
backup:
428457
type: object
429458
properties:
430459
enabled:
431460
type: boolean
432-
433461
headDB:
434462
type: object
435463
properties:
436464
storage:
437465
type: string
438466
storageClass:
439467
type: string
468+
opLogStores:
469+
type: array
470+
items:
471+
type: object
472+
properties:
473+
name:
474+
type: string
475+
mongodbResourceRef:
476+
type: object
477+
properties:
478+
name:
479+
type: string
480+
required:
481+
- name
482+
mongodbUserRef:
483+
type: object
484+
properties:
485+
name:
486+
type: string
487+
required:
488+
- name
489+
required:
490+
- name
491+
- mongodbResourceRef
492+
s3Stores:
493+
type: array
494+
items:
495+
type: object
496+
properties:
497+
name:
498+
type: string
499+
mongodbResourceRef:
500+
type: object
501+
properties:
502+
name:
503+
type: string
504+
required:
505+
- name
506+
mongodbUserRef:
507+
type: object
508+
properties:
509+
name:
510+
type: string
511+
required:
512+
- name
513+
pathStyleAccessEnabled:
514+
type: boolean
515+
s3BucketEndpoint:
516+
type: string
517+
s3BucketName:
518+
type: string
519+
s3SecretRef:
520+
type: object
521+
properties:
522+
name: string
523+
required:
524+
- name
525+
- mongodbResourceRef
526+
- pathStyleAccessEnabled
527+
- s3BucketEndpoint
528+
- s3BucketName
529+
- s3SecretRef
530+
531+
required:
532+
- enabled
440533

441534
applicationDatabase:
442535
type: object
443536
properties:
537+
passwordSecretKeyRef:
538+
type: object
539+
properties:
540+
name:
541+
type: string
542+
key:
543+
type: string
544+
required:
545+
- name
444546
members:
445547
maximum: 50
446548
minimum: 3

helm_chart/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: mongodb-enterprise-operator
22
description: MongoDB Kubernetes Enterprise Operator
3-
version: 1.3.1
3+
version: 1.4.0
44
kubeVersion: '>=1.13'
55
keywords:
66
- mongodb

0 commit comments

Comments
 (0)