pervrosen / kubernetes-cluster

Kubernetes cluster using Vagrant, VirtualBox and Kubeadm

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

Licensing

Apache License, Version 2.0.

About

Kubernetes cluster using Vagrant, VirtualBox and Kubeadm

License:Apache License 2.0