K3s is stripped down to minimal components. The only components we have are CoreDNS, local-path-provisioner, and metrics-server. Everything else is disabled and configured with custom Helm charts.
The clusters will be automatically bootstrapped and managed with ArgoCD.
Before you begin, ensure you have the following:
- Hetzner Cloud account (20$ free credits)
- Terraform
- Helm
- kubectl
- K9s (optional but recommended)
The main idea is to have a primary single-node operations K3s cluster that has ArgoCD and an App of Apps pattern to manage both operations and other K3s single or multi-node clusters.
Helm charts and Terraform modules are custom-made with the intention to be reusable and reconfigurable:
~/.terraformrc
credentials "gitlab.k3s0.ujstor.com" {
token = "gitlab_token"
}