This guide will walk you through the steps to setting up an
environment to run Kubernetes (K8S) on your laptop or workstation.
You'll need to install Docker if you haven't already and
Kubernetes client (kubectl).
Update: For guide using Minikube, a common local K8S environment,
checkout Run a
Minikube Local Docker Registry and Dashboard using Helm
Now run the Kubernetes Hyperkube image. This image will run
additional Kubernetes images used to orchestrate your
cluster. I've added --restart=always so that Kubernetes will be
relaunched on reboots, or if it dies. You may tweak these starting
parameters at some point(i.e. --cluster-dns), but they ought to provide
working defaults for now.
Start a private local registry that Docker always restarts if the container dies.
docker run -d -p 5000:5000 --restart=always --name registry registry:2
Build an image and tag it.
docker build -t hello-node .
docker tag hello-node localhost:5000/hello-node
Push the image to your local registry.
docker push localhost:5000/hello-node
Now run a deployment in Kubernetes using the image located on your
kubectl run hello-node --image=localhost:5000/hello-node--port=8888
You should now have a deployment of your image, in my case hello-node, running using your
private local registry, Kubernetes and Docker. You can verify by
kubectl get deployments
You may also connect to your pod via port forwarding to verify
connectivity. For example, I forward traffic from 8090 on
my localhost to port 8080 on a jenkins pod. Now when I point
my browser to localhost:8090, I talk to the jenkins web service.