Kubernetes cluster
A vagrant script for setting up a Kubernetes cluster using Kubeadm
Pre-requisites
How to Run
Execute the following vagrant command to start a new Kubernetes cluster, this will start one master and two nodes:
vagrant up
You can also start invidual machines by vagrant up k8s-head, vagrant up k8s-node-1 and vagrant up k8s-node-2
If more than two nodes are required, you can edit the servers array in the Vagrantfile
servers = [
{
:name => "k8s-node-3",
:type => "node",
:box => "ubuntu/xenial64",
:box_version => "2020522.0.0",
:eth1 => "192.168.205.13",
:mem => "2048",
:cpu => "2"
}
]
As you can see above, you can also configure IP address, memory and CPU in the servers array.
The state of libvirt
As you might have found out there is no ubuntu/xenial64 for libvirt, but only for virtualbox. To convert a virtaul box to a libvirt box please follow the example below:
vagrant plugin install vagrant-mutate
vagrant box add --provider virtualbox --box-version 20200522.0.0 ubuntu/xenial64
vagrant mutate ubuntu/xenial64 libvirt
Or start vagrant up for virtualbox with
vagrant up --provider virtualbox
Clean-up
Execute the following command to remove the virtual machines created for the Kubernetes cluster.
vagrant destroy -f
You can destroy individual machines by vagrant destroy k8s-node-1 -f