From 146b22500e4247ada2463917ea1b7ed1d016b05a Mon Sep 17 00:00:00 2001 From: galal-hussein Date: Sat, 3 Dec 2016 07:08:02 +0200 Subject: [PATCH 1/3] Fix MongoDB replicaset template for Kubernetes --- .../MongoDB/0/mongo-controller.yaml | 29 +++++++++++--- .../MongoDB/0/mongo-master.yaml | 38 +++++++++++++------ 2 files changed, 51 insertions(+), 16 deletions(-) diff --git a/kubernetes-templates/MongoDB/0/mongo-controller.yaml b/kubernetes-templates/MongoDB/0/mongo-controller.yaml index f956a5e..1bf60a6 100644 --- a/kubernetes-templates/MongoDB/0/mongo-controller.yaml +++ b/kubernetes-templates/MongoDB/0/mongo-controller.yaml @@ -9,23 +9,42 @@ spec: template: spec: containers: + - image: husseingalal/mongo-k8s-config + name: mongo-config + volumeMounts: + - mountPath: /opt/rancher/bin + name: utility + stdin: true + tty: true - name: mongo-sec - image: husseingalal/mongo-k8s + image: mongo:3.4 ports: - containerPort: 27017 volumeMounts: - - name: mongo-ephermal-storage + - name: mongo-datadir mountPath: /data/db + - mountPath: /opt/rancher/bin + name: utility command: - - /run.sh + - /opt/rancher/bin/run.sh - mongod - "--replSet" - rs0 - "--smallfiles" - "--noprealloc" + env: + - name: PRIMARY + value: "false" + - name: POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP volumes: - - name: mongo-ephermal-storage - emptyDir: {} + - name: mongo-datadir + hostPath: + path: /data/db + - name: utility + emptyDir: {} metadata: labels: secondary: "true" diff --git a/kubernetes-templates/MongoDB/0/mongo-master.yaml b/kubernetes-templates/MongoDB/0/mongo-master.yaml index 8e99fe1..49b7ac7 100644 --- a/kubernetes-templates/MongoDB/0/mongo-master.yaml +++ b/kubernetes-templates/MongoDB/0/mongo-master.yaml @@ -9,33 +9,49 @@ spec: - port: 27017 targetPort: 27017 selector: - name: mongo-master + name: mongo-primary --- apiVersion: v1 kind: Pod metadata: labels: - name: mongo-master - name: mongo-master + name: mongo-primary + name: mongo-primary spec: containers: - - name: mongo-master - image: "husseingalal/mongo-k8s" + - name: mongo-config + image: husseingalal/mongo-k8s-config + volumeMounts: + - mountPath: /opt/rancher/bin + name: utility + stdin: true + tty: true + - name: mongo-primary + image: mongo:3.4 env: - - name: PRIMARY - value: "true" + - name: PRIMARY + value: "true" + - name: POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP ports: - containerPort: 27017 command: - - /run.sh + - /opt/rancher/bin/run.sh - mongod - "--replSet" - rs0 - "--smallfiles" - "--noprealloc" volumeMounts: + - mountPath: /opt/rancher/bin + name: utility - mountPath: /data/db - name: mongo-primary-ephermal-storage + name: mongo-datadir volumes: - - name: mongo-primary-ephermal-storage - emptyDir: {} + - name: mongo-datadir + hostPath: + path: /data/db + - name: utility + emptyDir: {} From 3aacb31d52070d09b6bd51ea578310b4be1c40ca Mon Sep 17 00:00:00 2001 From: galal-hussein Date: Mon, 5 Dec 2016 08:10:11 +0200 Subject: [PATCH 2/3] Add database volume path as variable --- kubernetes-templates/MongoDB/0/mongo-controller.yaml | 2 +- kubernetes-templates/MongoDB/0/mongo-master.yaml | 2 +- kubernetes-templates/MongoDB/0/rancher-compose.yml | 5 +++++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/kubernetes-templates/MongoDB/0/mongo-controller.yaml b/kubernetes-templates/MongoDB/0/mongo-controller.yaml index 1bf60a6..6a3395b 100644 --- a/kubernetes-templates/MongoDB/0/mongo-controller.yaml +++ b/kubernetes-templates/MongoDB/0/mongo-controller.yaml @@ -42,7 +42,7 @@ spec: volumes: - name: mongo-datadir hostPath: - path: /data/db + path: ${mongo_volume} - name: utility emptyDir: {} metadata: diff --git a/kubernetes-templates/MongoDB/0/mongo-master.yaml b/kubernetes-templates/MongoDB/0/mongo-master.yaml index 49b7ac7..fdd5935 100644 --- a/kubernetes-templates/MongoDB/0/mongo-master.yaml +++ b/kubernetes-templates/MongoDB/0/mongo-master.yaml @@ -52,6 +52,6 @@ spec: volumes: - name: mongo-datadir hostPath: - path: /data/db + path: ${mongo_volume} - name: utility emptyDir: {} diff --git a/kubernetes-templates/MongoDB/0/rancher-compose.yml b/kubernetes-templates/MongoDB/0/rancher-compose.yml index cc33791..85fc621 100644 --- a/kubernetes-templates/MongoDB/0/rancher-compose.yml +++ b/kubernetes-templates/MongoDB/0/rancher-compose.yml @@ -9,3 +9,8 @@ type: int default: 2 description: "should be even number" + - variable: "mongo_volume" + label: "hostpath volume for mongodb" + required: true + type: string + default: "/data/db" From 82bb421fd4fc46da16616f4644d1a7c8acb45966 Mon Sep 17 00:00:00 2001 From: galal-hussein Date: Thu, 8 Dec 2016 00:37:42 +0200 Subject: [PATCH 3/3] Add versioning for mongo config image --- kubernetes-templates/MongoDB/0/mongo-controller.yaml | 2 +- kubernetes-templates/MongoDB/0/mongo-master.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/kubernetes-templates/MongoDB/0/mongo-controller.yaml b/kubernetes-templates/MongoDB/0/mongo-controller.yaml index 6a3395b..ee6e38a 100644 --- a/kubernetes-templates/MongoDB/0/mongo-controller.yaml +++ b/kubernetes-templates/MongoDB/0/mongo-controller.yaml @@ -9,7 +9,7 @@ spec: template: spec: containers: - - image: husseingalal/mongo-k8s-config + - image: husseingalal/mongo-k8s-config:v0.2.0 name: mongo-config volumeMounts: - mountPath: /opt/rancher/bin diff --git a/kubernetes-templates/MongoDB/0/mongo-master.yaml b/kubernetes-templates/MongoDB/0/mongo-master.yaml index fdd5935..437d9cb 100644 --- a/kubernetes-templates/MongoDB/0/mongo-master.yaml +++ b/kubernetes-templates/MongoDB/0/mongo-master.yaml @@ -20,7 +20,7 @@ metadata: spec: containers: - name: mongo-config - image: husseingalal/mongo-k8s-config + image: husseingalal/mongo-k8s-config:v0.2.0 volumeMounts: - mountPath: /opt/rancher/bin name: utility