Wed, March 28, 2018 ยท 1 min read

Minikube (all in one host kubernetes) on fedora 26

Minikube (all in one host kubernetes) on fedora 26

$ minikube start --vm-driver=kvm
Starting local Kubernetes v1.9.4 cluster...
Starting VM...
Downloading Minikube ISO
 142.22 MB / 142.22 MB [============================================] 100.00% 0s

Check the VM with virsh:

$ virsh list
 Id    Name                           State
----------------------------------------------------
 3     minikube                       running

Building a Docker image inside Minikube

$ docker build -t hello-node:v1 .
Sending build context to Docker daemon  3.072kB
Step 1/4 : FROM node:6.9.2
 ---> faaadb4aaf9b
Step 2/4 : EXPOSE 8080
 ---> Running in 5c579151df63
Step 3/4 : COPY server.js .
 ---> 7daccb906f6c
Step 4/4 : CMD node server.js
 ---> Running in c90aabc99720
Successfully built 83325cbbb853
Successfully tagged hello-node:v1

Deploying to Kubernetes

$ kubectl run hello-node --image=hello-node:v1 --port=8080
deployment.apps "hello-node" created

$ kubectl get deployments
NAME         DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
hello-node   1         1         1            1           7s

$ kubectl get pods
NAME                         READY     STATUS    RESTARTS   AGE
hello-node-9f5f775d6-d7lnt   1/1       Running   0          2m

Expose the deployment

$ kubectl expose deployment hello-node --type=LoadBalancer
service "hello-node" exposed

$ curl https://192.168.42.180:32004
Hello world!

Updating the deployment

$ docker build -t hello-node:v2 .
$ kubectl set image deployment/hello-node hello-node=hello-node:v2
deployment.apps "hello-node" image updated