This is a 3-node-cluster Kubernetes that uses k3s. It can be very usefull for learning Kubernetes concepts easy and fast without struggling with installing kubernetes by kubeadm or minikube. Although learning methods of Kubernetes installation is definitely crucial, for first step and for learning vital and basic concepts of Kubernetes we need a lightweight and repeatable infrastructure.
Make sure that following tools are installed on your host.
- Ansible
- Vagrant
- libvirt/KVM or virtualbox
Add the following configuration in ~/.ssh/config
Host 10.0.0.*
Hostname %h
Host 192.168.56.*
Hostname %h
Match Host 10.0.0.*
User vagrant
Port 22
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile $HOME/.vagrant.d/insecure_private_key
IdentitiesOnly yes
LogLevel FATAL
Match Host 192.168.56.*
User vagrant
Port 22
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile $HOME/.vagrant.d/insecure_private_key
IdentitiesOnly yes
LogLevel FATAL
Fill the variables in vagrant_variables.yaml and then execute the following command:
vagrant upFor executing kubectl from your machine rather than in master node (node-1), copy the kubectl configuration in your machine:
scp vagrant@<node-1-ip>:~/.kube/config ~/.kube/config
URL
For changing storage pool default path, the following commands can be used:
virsh pool-list
virsh pool-destroy default
virsh pool-undefine default
virsh pool-define-as --name default --type dir --target /hdd/pool_ssd_nvm
virsh pool-autostart default
virsh pool-start default