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 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
  • 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!

alt text

Description
No description provided
Readme Apache-2.0 571 KiB
Languages
Shell 100%