# Kubernetes Cluster Deployment Guide This guide describes how to deploy a Kubernetes cluster tailored to my environment using the provided `redbutton.sh` script. ## ⚙️ Pre-requisites Before running the deployment script, ensure the following are in place: - `kubectl` and `helm` are installed on your local machine - The remote user can execute `sudo` commands **without a password prompt** - SSH host keys of the target nodes are already added to your system (to avoid interactive confirmation prompts) ## 🧭 Deployment Goals This setup will create a Kubernetes cluster with the following topology and components: - **1 Control Plane Node** - **2 Worker Nodes** - **Calico** as the CNI (Container Network Interface) - **MetalLB** as the cloud load balancer for bare metal services (change the configmap to adapt it to your network) - **Traefik** as the ingress controller on IP 10.50.3.30 (change it in the values.yaml to adapt it to your network) - **Longhorn** as the persistent storage provider (change the host to adapt it to your network) ## 🚀 How to Deploy To initiate the deployment, run the provided script: ```bash chmod +x init-deploy.sh chmod +x helm-deploy.sh chmod +x redbutton.sh ./redbutton.sh ``` May the kubelets be ever in your favor, and your etcd never split! ![alt text](robotnik.png)