Single-node Kubernetes deployment
September 4, 2016 Leave a comment
In order to test k8s you can always deploy a single-node setup locally using minikube, however it is a bit limited if you want to test interactions that require your services to be externally accessible from a mobile or web front-end.
For this reason, I created a basic k8s setup for a Core OS single node in Azure using https://coreos.com/kubernetes/docs/latest/getting-started.html . Once I did this, I decided to automate its deployment via script.
It requires a Core OS instance running, then connect to it and:
git clone https://github.com/vtuson/k8single.git k8
./kubeform.sh [myip-address] –> ip associated to eth, you can find it using ifconfig
This will deploy k8 into a single node, it sets up kubectl in the node and deploys skydns add on.
It also includes a busybox node file that can be deployed by:
kubectl create -f files/busybox
This might come useful to debug issues with the set up. To execute commands in busybox run:
kubectl exec busybox — [command]
The script and config files can be access at https://github.com/vtuson/k8single
If you hit any issues while deploying k8s in a single node a few things worth checking are:
sudo systemctl status etcd
sudo systemctl status flanneld
sudo systemctl status docker
Also it is worth checking what docker containers are running and if necessarily check the logs
docker ps -a
docker logs [container-id]