39 lines
1.4 KiB
Markdown
39 lines
1.4 KiB
Markdown
# 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)
|
|
- **Cert-Manager** to manage the internal certificates. Remember to update the API key!
|
|
- **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!
|
|
|
|

|