For your Home Lab env, you can use this repository with scripts for:
- create VM's via Vagrant
- create a Kubernetes Cluster using docker image of Kubespray,
- install ArgoCD for apps management
- install MetalLB for LB on bare metal
- install Istio for service mesh purpose,
Vagrant will create 6 VMs:
- kube-control-plane-0[1-3]: 3 controller-plane nodes (2 vcpu, 4GB RAM each)
- kube-node-0[1-3]: 3 worker nodes (2 vcpu and 4GB RAM each)
This repository was tested using
Just run:
vagrant up
Now, you can connect to the Kubernetes cluster via config ./.vagrant/provisioners/ansible/inventory/artifacts/admin.conf
:
export KUBECONFIG=$PWD/.vagrant/provisioners/ansible/inventory/artifacts/admin.conf
kubectl cluster-info
- The Vagrantfile required Vagrant plugins:
- vagrant-libvirt
- vagrant-timezone
- Inspired by https://github.com/bcochofel/vagrant-kubespray
Read the pre-commit hooks document for more info.
Read the git-chglog document for more info.