Yet another k8s cluster using kubeadm
- This project deploys a kubernetes cluster using Kubeadm on top of Vagrant, all configuration is taken care of using Ansible
- Dynamic storage provisioning is done using local-path-provisioner from Rancher
- LoadBalancer implementation is provided using MetalLB
- For ingress, nginx-ingress-controller is used
- Weave net CNI is used to provide Network Policies
- Metrics server for collecting resource metrics
- The cluster is configured as one master and 2 worker nodes as follows:
| Machine Name | Address | FQDN |
|---|---|---|
| master | 192.168.100.10 | master.example.com |
| worker1 | 192.168.100.11 | worker1.example.com |
| worker2 | 192.168.100.12 | worker2.example.com |
# 1- Enable DefaultStorageClass Admission controller
vi /etc/kubernetes/manifests/kube-apiserver.yaml
- --enable-admission-plugins=NodeRestriction,DefaultStorageClass
#2- Patch the storage class created by local-path-provisioner
k patch sc local-path -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'