Developing applications for Kubernetes using  Docker for Mac

$echo `whoami`

Cloud Software Engineer at Cloudreach

Does anyone use Docker?

Does anyone use Kubernetes?

Does Docker do Kubernetes?

YES. THEY. DO.

What does that even mean?

  • Use Kubernetes instead of Docker Swarm

  • Allow a 1 node local cluster

  • Add additional docker commands that play nice with Kubernetes

Great, how do we start?

You already have it, if you have Docker installed 

What Docker for Mac doesn't include...

  • Default Ingress Controller

  • Kubernetes Dashboard

  • Heapster

  • Storage Class

Don't worry, because you can add it to your cluster 

But this will mess up my workflow 

Why should I switch my workflow

  • Speed

  • Modularity

  • Isolation

Unless....

Why not Minikube?

  •  Single-node Kubernetes cluster inside a VM on your computer
  • Allows you to use kubectl to access cluster for development purposes
  • Test strategies on your computer instead of in the cloud
  • Uses VirtualBox or xhyve driver
  • Not bound to localhost
  • You have to use minikube IPs

BUT

  • docker stack deploy -c <docker-compose file> <name>​​

 

 

So how do I start

  • kubectl create -f <kubernetes.yaml file>​​

 

  • helm install <name of chart>

This is what I did before we start this demo….

 

  • I installed the Kubernetes dashboard
  • I installed the Nginx ingress controller
  • Created a helm chart with values
  • Downloaded images that I need ahead of time

 

https://github.com/troy0820/revconf​

  • Using local docker images to use in your cluster
  • Deploying those local images to your cluster​
  • Use docker stack deploy command 
  • Using helm to manage our deployments

Demo Time

Made with Slides.com