diff --git a/docker-compose-k8s.yml b/docker-compose-k8s.yml
new file mode 100644
index 0000000..5a65415
--- /dev/null
+++ b/docker-compose-k8s.yml
@@ -0,0 +1,27 @@
+version: ':8080'
+
+services:
+ redis:
+ image: redis:alpine
+ ports:
+ - "6379:6379"
+ db:
+ image: postgres:9.4
+ ports:
+ - "5432:5432"
+ vote:
+ image: dockersamples/examplevotingapp_vote:before
+ ports:
+ - "5000:80"
+ deploy:
+ replicas: 2
+ result:
+ image: dockersamples/examplevotingapp_result:before
+ ports:
+ - "5001:80"
+ worker:
+ image: dockersamples/examplevotingapp_worker
+ visualizer:
+ image: dockersamples/visualizer:stable
+ ports:
+ - "8080:8080"
diff --git a/kube-deployment.yml b/kube-deployment.yml
new file mode 100644
index 0000000..0b03da9
--- /dev/null
+++ b/kube-deployment.yml
@@ -0,0 +1,203 @@
+---
+apiVersion: v1
+kind: Service
+metadata:
+ labels:
+ app: redis
+ name: redis
+spec:
+ clusterIP: None
+ ports:
+ - name: redis
+ port: 6379
+ targetPort: 6379
+ selector:
+ app: redis
+---
+apiVersion: apps/v1beta1
+kind: Deployment
+metadata:
+ name: redis
+ labels:
+ app: redis
+spec:
+ selector:
+ matchLabels:
+ app: redis
+ replicas: 1
+ template:
+ metadata:
+ labels:
+ app: redis
+ spec:
+ containers:
+ - name: redis
+ image: redis:alpine
+ ports:
+ - containerPort: 6379
+ name: redis
+
+---
+apiVersion: v1
+kind: Service
+metadata:
+ labels:
+ app: db
+ name: db
+spec:
+ clusterIP: None
+ ports:
+ -
+ name: db
+ port: 5432
+ targetPort: 5432
+ selector:
+ app: db
+---
+apiVersion: apps/v1beta1
+kind: Deployment
+metadata:
+ name: db
+ # labels:
+ # app: db
+spec:
+ template:
+ metadata:
+ labels:
+ app: db
+ spec:
+ containers:
+ -
+ name: db
+ image: postgres:9.4
+ env:
+ - name: PGDATA
+ value: /var/lib/postgresql/data/pgdata
+ ports:
+ - containerPort: 5432
+ name: db
+ volumeMounts:
+ - name: db-data
+ mountPath: /var/lib/postgresql/data
+ volumes:
+ - name: db-data
+ persistentVolumeClaim:
+ claimName: postgres-pv-claim
+
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ name: postgres-pv-claim
+spec:
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 1Gi
+
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: result
+ labels:
+ app: result
+spec:
+ type: LoadBalancer
+ ports:
+ -
+ port: 5001
+ targetPort: 80
+ name: result
+ selector:
+ app: result
+ # clusterIP: None
+---
+apiVersion: apps/v1beta1
+kind: Deployment
+metadata:
+ name: result
+ labels:
+ app: result
+spec:
+ replicas: 1
+ template:
+ metadata:
+ labels:
+ app: result
+ spec:
+ containers:
+ - name: result
+ image: dockersamples/examplevotingapp_result:before
+ ports:
+ - containerPort: 80
+ name: result
+
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: vote
+ labels:
+ apps: vote
+spec:
+ type: LoadBalancer
+ ports:
+ - port: 5000
+ targetPort: 80
+ name: vote
+ selector:
+ app: vote
+ # clusterIP: None
+---
+apiVersion: apps/v1beta1
+kind: Deployment
+metadata:
+ name: vote
+ labels:
+ app: vote
+spec:
+ replicas: 2
+ template:
+ metadata:
+ labels:
+ app: vote
+ spec:
+ containers:
+ - name: vote
+ image: dockersamples/examplevotingapp_vote:before
+ ports:
+ -
+ containerPort: 80
+ name: vote
+
+---
+apiVersion: v1
+kind: Service
+metadata:
+ labels:
+ apps: worker
+ name: worker
+spec:
+ clusterIP: None
+ selector:
+ app: worker
+---
+apiVersion: apps/v1beta1
+kind: Deployment
+metadata:
+ labels:
+ app: worker
+ name: worker
+spec:
+ replicas: 1
+ template:
+ metadata:
+ labels:
+ app: worker
+ spec:
+ containers:
+ -
+ image: dockersamples/examplevotingapp_worker
+ name: worker
diff --git a/worker/.classpath b/worker/.classpath
new file mode 100644
index 0000000..71f5fef
--- /dev/null
+++ b/worker/.classpath
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/worker/.project b/worker/.project
new file mode 100644
index 0000000..49e0d9a
--- /dev/null
+++ b/worker/.project
@@ -0,0 +1,23 @@
+
+
+ worker
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.m2e.core.maven2Builder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ org.eclipse.m2e.core.maven2Nature
+
+
diff --git a/worker/.settings/org.eclipse.jdt.apt.core.prefs b/worker/.settings/org.eclipse.jdt.apt.core.prefs
new file mode 100644
index 0000000..d4313d4
--- /dev/null
+++ b/worker/.settings/org.eclipse.jdt.apt.core.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.apt.aptEnabled=false
diff --git a/worker/.settings/org.eclipse.jdt.core.prefs b/worker/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..1eb325e
--- /dev/null
+++ b/worker/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.processAnnotations=disabled
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/worker/.settings/org.eclipse.m2e.core.prefs b/worker/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/worker/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/worker/target/classes/worker/Worker.class b/worker/target/classes/worker/Worker.class
new file mode 100644
index 0000000..0191c38
Binary files /dev/null and b/worker/target/classes/worker/Worker.class differ