Actually there is already a Kubernetes multi node cluster post (
https://kenanhancer.com/2018/09/26/kubernetes-multi-node-cluster-with-vagrant/) in this blog. But, this one is different. That post was showing 3 empty virtual server up and run later install tools step by step so it was taking too much time. If you run this Vagrantfile, it will create one master node and 2 worker nodes in Virtualbox. This Vagrantfile is also more configurable. If you need more servers, just append new item in “servers” array in Vagrantfile.
This is the expected result 🙂 As I mentioned at the beginning of the post, one master node and two worker nodes are created in Virtualbox.
The following Vagrantfile code(syntax is Ruby) is creating single node Kubernetes cluster with Minikube.
Copy above code and follow the following screenshots. Run the following commands in Terminal.
Paste the Vagrantfile content like below.
save Vagrantfile and run the following command to start virtual machine.
Creating Kubernetes Dashboard Proxy
After Vagrant is up, it means that Minikube is ready to use. So, connect with SSH to Vagrant machine and run the following code to start Kubernetes Dashboard Proxy.
kubectl proxy --address 0.0.0.0 --port=8001 --accept-hosts '.*'
Connecting to Kubernetes Dashboard from Host machine
Click one of the following link to connect the Dashboard. Ta taaa 🙂
Rest of the details are already mentioned in this blog link
Kubernetes multi node cluster with Vagrant (included Kubernetes Dashboards, Grafana, Prometheus)
Kubernetes Dashboard Access Control paragraph.
if you have installed Vagrant CLI, just run the following command to create docker installed virtual box.
The following command will download a Vagrantfile file from Vagrant company in the current directory.
vagrant init kenanhancer/DockerMachine
This command will start the virtual machine.
If you want to check status of virtual machine, run the following command.
If you want to see ports of virtual machine, run the following command.
to connect created virtual machine, run the following command in the Vagrantfile directory.
if you want to see details of Vagrantfile, check it as below.
Creating a Vagrant Package file
vagrant package --output dockermachine.box --vagrantfile Vagrantfile
The following Vagrantfile code(syntax is Ruby) is creating one master node and two worker nodes for Kubernetes.
Go to Vagrantfile directory in Terminal and run the following code to create virtual machines.
As you can see in the below picture, three virtual machines are obtained and running.
But, Kubernetes cluester is still not ready. We created just an environment to install the cluster.