diff --git a/kubernetes-templates/MongoDB/0/README.md b/kubernetes-templates/MongoDB/0/README.md new file mode 100644 index 0000000..2bca3f2 --- /dev/null +++ b/kubernetes-templates/MongoDB/0/README.md @@ -0,0 +1,5 @@ +# MongoDB + +MongoDB is an open-source, document database designed for ease of development and scaling. + +This is a MongoDB replica set deployment on Kubernetes environment, it will create MongoDB replica set with the ability to scale it in the future. diff --git a/kubernetes-templates/MongoDB/0/mongo-controller.yaml b/kubernetes-templates/MongoDB/0/mongo-controller.yaml new file mode 100644 index 0000000..f956a5e --- /dev/null +++ b/kubernetes-templates/MongoDB/0/mongo-controller.yaml @@ -0,0 +1,32 @@ +kind: ReplicationController +apiVersion: v1 +metadata: + name: mongo-rc +spec: + replicas: ${sec_no} + selector: + name: mongo-sec + template: + spec: + containers: + - name: mongo-sec + image: husseingalal/mongo-k8s + ports: + - containerPort: 27017 + volumeMounts: + - name: mongo-ephermal-storage + mountPath: /data/db + command: + - /run.sh + - mongod + - "--replSet" + - rs0 + - "--smallfiles" + - "--noprealloc" + volumes: + - name: mongo-ephermal-storage + emptyDir: {} + metadata: + labels: + secondary: "true" + name: mongo-sec diff --git a/kubernetes-templates/MongoDB/0/mongo-master.yaml b/kubernetes-templates/MongoDB/0/mongo-master.yaml new file mode 100644 index 0000000..8e99fe1 --- /dev/null +++ b/kubernetes-templates/MongoDB/0/mongo-master.yaml @@ -0,0 +1,41 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + name: mongo-primary + name: mongo-primary +spec: + ports: + - port: 27017 + targetPort: 27017 + selector: + name: mongo-master +--- +apiVersion: v1 +kind: Pod +metadata: + labels: + name: mongo-master + name: mongo-master +spec: + containers: + - name: mongo-master + image: "husseingalal/mongo-k8s" + env: + - name: PRIMARY + value: "true" + ports: + - containerPort: 27017 + command: + - /run.sh + - mongod + - "--replSet" + - rs0 + - "--smallfiles" + - "--noprealloc" + volumeMounts: + - mountPath: /data/db + name: mongo-primary-ephermal-storage + volumes: + - name: mongo-primary-ephermal-storage + emptyDir: {} diff --git a/kubernetes-templates/MongoDB/0/mongo-sec-service.yaml b/kubernetes-templates/MongoDB/0/mongo-sec-service.yaml new file mode 100644 index 0000000..308d3d0 --- /dev/null +++ b/kubernetes-templates/MongoDB/0/mongo-sec-service.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + name: mongo-sec + name: mongo-sec +spec: + ports: + - port: 27017 + selector: + secondary: "true" diff --git a/kubernetes-templates/MongoDB/0/rancher-compose.yml b/kubernetes-templates/MongoDB/0/rancher-compose.yml new file mode 100644 index 0000000..cc33791 --- /dev/null +++ b/kubernetes-templates/MongoDB/0/rancher-compose.yml @@ -0,0 +1,11 @@ +.catalog: + name: MongoDB + version: 3.2-rancher1 + description: MongoDB Replica Set + questions: + - variable: "sec_no" + label: "Number of Secondary nodes" + required: true + type: int + default: 2 + description: "should be even number" diff --git a/kubernetes-templates/MongoDB/catalogIcon-mongodb.svg b/kubernetes-templates/MongoDB/catalogIcon-mongodb.svg new file mode 100644 index 0000000..0fd0d97 --- /dev/null +++ b/kubernetes-templates/MongoDB/catalogIcon-mongodb.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/kubernetes-templates/MongoDB/config.yml b/kubernetes-templates/MongoDB/config.yml new file mode 100644 index 0000000..46bd0e9 --- /dev/null +++ b/kubernetes-templates/MongoDB/config.yml @@ -0,0 +1,5 @@ +name: MongoDB +description: | + MongoDB Replica Set. +version: 3.2-rancher1 +category: Databases