Skip to content

Latest commit

 

History

History
38 lines (25 loc) · 1.73 KB

README.md

File metadata and controls

38 lines (25 loc) · 1.73 KB

Wild West Kubernetes

Wild West Kubernetes is a sample application written in Spring Boot and the Phaser game engine to make killing pods fun. In order to play the game, you need to have a kubernetes cluster running and issue the following command:

kubectl apply -f https://git.io/k8s-wild-west

If you are using OpenShift, you will need to add a role to a service account

oc policy add-role-to-user view system:serviceaccount:wildwest:default

Where wildwest is the name of the project in openshift.

This will create a namespace called wildwest and deploy the gshipley/wildwest:latest docker image with five replicas. This will also create a service and apply the correct RBAC view role to pull information from the kubernetes API. It should be noted that the default kubernetes/k8s.yaml file creates a service using a NodePort. This should work in most minikube environments but you should change it if you are running on a cluster with a LoadBalancer. For an example of an ingress, check out the kubernetes/ingress.yaml file.

By default, the game doesn't actually destroy the pods when you shoot them. If you want to enable destructive mode, issue the following command:

kubectl apply -f https://git.io/k8s-wild-west-destructive

For OpenShift, apply this role for destructive mode

oc policy add-role-to-user edit system:serviceaccount:wildwest:default

Once you have the game deployed, you will need to expose the service so that you can access the web application. If you are using minikube, you could use port-fowarding:

kubectl port-forward -n wildwest svc/wildwest 8080:8080

Happy Pod hunting.