From f0dfd83154250d285cd3d5febd717432ce716778 Mon Sep 17 00:00:00 2001 From: Vincent Fiduccia Date: Wed, 9 Mar 2016 11:52:25 -0700 Subject: [PATCH] k8s guestbook example --- .../guestbook/0/frontend-controller.yaml | 28 ++++++++++++++++++ .../guestbook/0/frontend-service.yaml | 15 ++++++++++ .../guestbook/0/rancher-compose.yml | 25 ++++++++++++++++ .../guestbook/0/redis-master-controller.yaml | 20 +++++++++++++ .../guestbook/0/redis-master-service.yaml | 13 ++++++++ .../guestbook/0/redis-slave-controller.yaml | 28 ++++++++++++++++++ .../guestbook/0/redis-slave-service.yaml | 12 ++++++++ .../guestbook/catalogIcon-guestbook.png | Bin 0 -> 50203 bytes kubernetes-templates/guestbook/config.yml | 4 +++ 9 files changed, 145 insertions(+) create mode 100644 kubernetes-templates/guestbook/0/frontend-controller.yaml create mode 100644 kubernetes-templates/guestbook/0/frontend-service.yaml create mode 100644 kubernetes-templates/guestbook/0/rancher-compose.yml create mode 100644 kubernetes-templates/guestbook/0/redis-master-controller.yaml create mode 100644 kubernetes-templates/guestbook/0/redis-master-service.yaml create mode 100644 kubernetes-templates/guestbook/0/redis-slave-controller.yaml create mode 100644 kubernetes-templates/guestbook/0/redis-slave-service.yaml create mode 100644 kubernetes-templates/guestbook/catalogIcon-guestbook.png create mode 100644 kubernetes-templates/guestbook/config.yml diff --git a/kubernetes-templates/guestbook/0/frontend-controller.yaml b/kubernetes-templates/guestbook/0/frontend-controller.yaml new file mode 100644 index 0000000..3f8a16a --- /dev/null +++ b/kubernetes-templates/guestbook/0/frontend-controller.yaml @@ -0,0 +1,28 @@ +apiVersion: v1 +kind: ReplicationController +metadata: + name: ${FRONTEND_NAME} + labels: + name: ${FRONTEND_NAME} +spec: + replicas: ${FRONTEND_REPLICAS} + selector: + name: ${FRONTEND_NAME} + template: + metadata: + labels: + name: ${FRONTEND_NAME} + spec: + containers: + - name: php-redis + image: gcr.io/google_samples/gb-frontend:v3 + env: + - name: GET_HOSTS_FROM + value: dns + # If your cluster config does not include a dns service, then to + # instead access environment variables to find service host + # info, comment out the 'value: dns' line above, and uncomment the + # line below. + # value: env + ports: + - containerPort: 80 diff --git a/kubernetes-templates/guestbook/0/frontend-service.yaml b/kubernetes-templates/guestbook/0/frontend-service.yaml new file mode 100644 index 0000000..09bddf2 --- /dev/null +++ b/kubernetes-templates/guestbook/0/frontend-service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: ${SERVICE_NAME} + labels: + name: ${SERVICE_NAME} +spec: + # if your cluster supports it, uncomment the following to automatically create + # an external load-balanced IP for the frontend service. + type: LoadBalancer + ports: + # the port that this service should serve on + - port: "${SERVICE_PORT}" + selector: + name: ${FRONTEND_NAME} diff --git a/kubernetes-templates/guestbook/0/rancher-compose.yml b/kubernetes-templates/guestbook/0/rancher-compose.yml new file mode 100644 index 0000000..5ab145c --- /dev/null +++ b/kubernetes-templates/guestbook/0/rancher-compose.yml @@ -0,0 +1,25 @@ +.catalog: + name: "K8s Example Guestbook" + version: "1.0.0" + description: "It's a guestbook" + questions: + - variable: "SERVICE_NAME" + label: "Service Name" + required: true + default: "frontend" + type: "string" + - variable: "Service Port" + label: "What port to listen on" + required: true + type: "int" + default: 80 + - variable: "FRONTEND_NAME" + label: "Frontend Name" + required: true + default: "frontend" + type: "string" + - variable: "Frontend Scale" + label: "Replicas for the frontend RC" + required: true + type: "int" + default: 3 diff --git a/kubernetes-templates/guestbook/0/redis-master-controller.yaml b/kubernetes-templates/guestbook/0/redis-master-controller.yaml new file mode 100644 index 0000000..2eebf26 --- /dev/null +++ b/kubernetes-templates/guestbook/0/redis-master-controller.yaml @@ -0,0 +1,20 @@ +apiVersion: v1 +kind: ReplicationController +metadata: + name: redis-master + labels: + name: redis-master +spec: + replicas: 1 + selector: + name: redis-master + template: + metadata: + labels: + name: redis-master + spec: + containers: + - name: master + image: redis + ports: + - containerPort: 6379 diff --git a/kubernetes-templates/guestbook/0/redis-master-service.yaml b/kubernetes-templates/guestbook/0/redis-master-service.yaml new file mode 100644 index 0000000..75144a9 --- /dev/null +++ b/kubernetes-templates/guestbook/0/redis-master-service.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + name: redis-master + labels: + name: redis-master +spec: + ports: + # the port that this service should serve on + - port: "6379" + targetPort: "6379" + selector: + name: redis-master diff --git a/kubernetes-templates/guestbook/0/redis-slave-controller.yaml b/kubernetes-templates/guestbook/0/redis-slave-controller.yaml new file mode 100644 index 0000000..6e5dde1 --- /dev/null +++ b/kubernetes-templates/guestbook/0/redis-slave-controller.yaml @@ -0,0 +1,28 @@ +apiVersion: v1 +kind: ReplicationController +metadata: + name: redis-slave + labels: + name: redis-slave +spec: + replicas: 2 + selector: + name: redis-slave + template: + metadata: + labels: + name: redis-slave + spec: + containers: + - name: worker + image: gcr.io/google_samples/gb-redisslave:v1 + env: + - name: GET_HOSTS_FROM + value: dns + # If your cluster config does not include a dns service, then to + # instead access an environment variable to find the master + # service's host, comment out the 'value: dns' line above, and + # uncomment the line below. + # value: env + ports: + - containerPort: 6379 diff --git a/kubernetes-templates/guestbook/0/redis-slave-service.yaml b/kubernetes-templates/guestbook/0/redis-slave-service.yaml new file mode 100644 index 0000000..1acc9de --- /dev/null +++ b/kubernetes-templates/guestbook/0/redis-slave-service.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Service +metadata: + name: redis-slave + labels: + name: redis-slave +spec: + ports: + # the port that this service should serve on + - port: 6379 + selector: + name: redis-slave diff --git a/kubernetes-templates/guestbook/catalogIcon-guestbook.png b/kubernetes-templates/guestbook/catalogIcon-guestbook.png new file mode 100644 index 0000000000000000000000000000000000000000..d731b7532a1793451603f7f7275388286456a0d5 GIT binary patch literal 50203 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 A$z_ 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 literal 0 HcmV?d00001 diff --git a/kubernetes-templates/guestbook/config.yml b/kubernetes-templates/guestbook/config.yml new file mode 100644 index 0000000..f58d23d --- /dev/null +++ b/kubernetes-templates/guestbook/config.yml @@ -0,0 +1,4 @@ +name: "K8s Example Guestbook" +description: "It's a guestbook" +version: 1.0.0 +category: Test