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 up
For 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