├── README.md ├── postgres-deployment.yml ├── postgres-service.yml ├── redis-deployment.yml ├── redis-service.yml ├── result-app-deployment.yml ├── result-app-service.yml ├── voting-app-deployment.yml ├── voting-app-service.yml └── worker-app-deployment.yml /README.md: -------------------------------------------------------------------------------- 1 | # example-voting-app-kubernetes-v2 2 | 3 | This is based on the original [example-voting-app](https://github.com/dockersamples/example-voting-app) from docker-examples(https://github.com/dockersamples) 4 | 5 | modified to work on Kubernetes 6 | 7 | 8 | -------------------------------------------------------------------------------- /postgres-deployment.yml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1 2 | kind: Deployment 3 | metadata: 4 | name: postgres-deployment 5 | labels: 6 | app: demo-voting-app 7 | spec: 8 | replicas: 1 9 | selector: 10 | matchLabels: 11 | name: postgres-pod 12 | app: demo-voting-app 13 | template: 14 | metadata: 15 | name: postgres-pod 16 | labels: 17 | name: postgres-pod 18 | app: demo-voting-app 19 | 20 | spec: 21 | containers: 22 | - name: postgres 23 | image: postgres:9.4 24 | ports: 25 | - containerPort: 5432 26 | env: 27 | - name: POSTGRES_HOST_AUTH_METHOD 28 | value: trust 29 | -------------------------------------------------------------------------------- /postgres-service.yml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: db 5 | labels: 6 | name: db-service 7 | app: demo-voting-app 8 | spec: 9 | ports: 10 | - port: 5432 11 | targetPort: 5432 12 | selector: 13 | name: postgres-pod 14 | app: demo-voting-app 15 | -------------------------------------------------------------------------------- /redis-deployment.yml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1 2 | kind: Deployment 3 | metadata: 4 | name: redis-deployment 5 | labels: 6 | app: demo-voting-app 7 | spec: 8 | replicas: 1 9 | selector: 10 | matchLabels: 11 | name: redis-pod 12 | app: demo-voting-app 13 | template: 14 | metadata: 15 | name: redis-pod 16 | labels: 17 | name: redis-pod 18 | app: demo-voting-app 19 | 20 | spec: 21 | containers: 22 | - name: redis 23 | image: redis 24 | ports: 25 | - containerPort: 6379 -------------------------------------------------------------------------------- /redis-service.yml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: redis 5 | labels: 6 | name: redis-service 7 | app: demo-voting-app 8 | spec: 9 | ports: 10 | - port: 6379 11 | targetPort: 6379 12 | selector: 13 | name: redis-pod 14 | app: demo-voting-app 15 | -------------------------------------------------------------------------------- /result-app-deployment.yml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1 2 | kind: Deployment 3 | metadata: 4 | name: result-app-deployment 5 | labels: 6 | app: demo-voting-app 7 | spec: 8 | replicas: 1 9 | selector: 10 | matchLabels: 11 | name: result-app-pod 12 | app: demo-voting-app 13 | template: 14 | metadata: 15 | name: result-app-pod 16 | labels: 17 | name: result-app-pod 18 | app: demo-voting-app 19 | 20 | spec: 21 | containers: 22 | - name: result-app 23 | image: dockersamples/examplevotingapp_result 24 | ports: 25 | - containerPort: 80 -------------------------------------------------------------------------------- /result-app-service.yml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: result-service 5 | labels: 6 | name: result-service 7 | app: demo-voting-app 8 | spec: 9 | type: LoadBalancer 10 | ports: 11 | - port: 80 12 | targetPort: 80 13 | selector: 14 | name: result-app-pod 15 | app: demo-voting-app 16 | -------------------------------------------------------------------------------- /voting-app-deployment.yml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1 2 | kind: Deployment 3 | metadata: 4 | name: voting-app-deployment 5 | labels: 6 | app: demo-voting-app 7 | spec: 8 | replicas: 3 9 | selector: 10 | matchLabels: 11 | name: voting-app-pod 12 | app: demo-voting-app 13 | template: 14 | metadata: 15 | name: voting-app-pod 16 | labels: 17 | name: voting-app-pod 18 | app: demo-voting-app 19 | 20 | spec: 21 | containers: 22 | - name: voting-app 23 | image: kodekloud/examplevotingapp_vote:v1 24 | ports: 25 | - containerPort: 80 26 | -------------------------------------------------------------------------------- /voting-app-service.yml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: voting-service 5 | labels: 6 | name: voting-service 7 | app: demo-voting-app 8 | spec: 9 | type: LoadBalancer 10 | ports: 11 | - port: 80 12 | targetPort: 80 13 | selector: 14 | name: voting-app-pod 15 | app: demo-voting-app 16 | -------------------------------------------------------------------------------- /worker-app-deployment.yml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1 2 | kind: Deployment 3 | metadata: 4 | name: worker-app-deployment 5 | labels: 6 | app: demo-voting-app 7 | spec: 8 | replicas: 3 9 | selector: 10 | matchLabels: 11 | name: worker-app-pod 12 | app: demo-voting-app 13 | template: 14 | metadata: 15 | name: worker-app-pod 16 | labels: 17 | name: worker-app-pod 18 | app: demo-voting-app 19 | 20 | spec: 21 | containers: 22 | - name: worker-app 23 | image: dockersamples/examplevotingapp_worker --------------------------------------------------------------------------------