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:
kubectl
andhelm
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
- 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!
Description
Languages
Shell
100%