No description
| ansible | ||
| manifests | ||
| .env.example | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
| redbutton.sh | ||
| robotnik.png | ||
Kubernetes Cluster Deployment Guide
This guide describes how to deploy a Kubernetes cluster tailored to my environment using the provided redbutton.sh script.
Just be sure to edit the variables in the redbutton.sh script. I think you can scale this out by adding more hosts and adjusting the for loop but I haven't tried it yet. I needed four machines and that is what I worked with.
⚙️ Pre-requisites
Before running the deployment script, ensure the following are in place:
kubectlandhelmare installed on your local machine- The remote user can execute
sudocommands 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
- Any Worker Nodes you like
- Calico as the CNI (Container Network Interface)
- MetalLB as the cloud load balancer for bare metal services on your desired range
- Traefik as the ingress controller on your desired IP
- Cert-Manager to manage the internal certificates. Remember to set the API Key!
- Longhorn as the persistent storage provider to your desired hostname
🚀 How to Deploy
To initiate the deployment, run the provided script:
cp .env.example .env
echo "export CF_API=YourSuperSecretAPIKey" >> .env
chmod +x redbutton.sh
./redbutton.sh
May the kubelets be ever in your favor, and your etcd never split!
