# timothystewart6/k3s-ansible

The easiest way to bootstrap a self-hosted High Availability Kubernetes cluster.  A fully automated HA k3s etcd install with kube-vip, MetalLB, and more.  Build. Destroy. Repeat.

Repository: https://github.com/timothystewart6/k3s-ansible
Canonical: https://ross.abutalabs.com/products/k3s-ansible
Homepage: https://technotim.com/posts/k3s-etcd-ansible/
Language: Jinja
License: Apache-2.0
License Family: permissive
Topics: k3s, kubernetes, metallb, kube-vip, etcd, rancher, k8s, k3s-cluster, high-availability
Last push: 2026-08-15T03:19:13+00:00

## Health v2 (maintenance only)
Score: 98/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 97, release rhythm 98, longevity 100
- inputs: {"age_days": 1621, "days_push": 18, "days_rel": 18, "gap_med": 12, "n_releases_24m": 2}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 3010, forks 1180 (observed 2026-08-28T04:07:37.779802+00:00)

## What it is
An Ansible playbook collection that fully automates bootstrapping a highly available k3s Kubernetes cluster with etcd, kube-vip for control plane virtual IP, and MetalLB for service load balancing. It targets Debian, Ubuntu, and Rocky hosts on x64, arm64, and armhf, enabling repeatable build-destroy-rebuild cluster workflows.

## Use cases
- bootstrap a high availability k3s cluster with ansible
- automate kubernetes cluster install on homelab servers
- set up kube-vip control plane load balancing for k3s
- deploy metallb load balancer on a k3s cluster
- create a repeatable destroy-and-rebuild k3s etcd cluster
- provision a multi-master kubernetes cluster on arm or x64 machines

## When to choose
- you want a fully automated, repeatable HA k3s cluster install via Ansible
- you run a homelab or small self-hosted environment on Debian/Ubuntu/Rocky hosts
- you need kube-vip and MetalLB wired in out of the box
- you want to rebuild clusters frequently (build, destroy, repeat)

## When to avoid
- you need a managed Kubernetes service or full upstream Kubernetes
- you don't use Ansible or prefer tools like Terraform or kubeadm
- your target nodes run Windows or unsupported distributions
- you need a single-node cluster with minimal tooling

## Facets
- artifact type: infra-config
- maturity: active
- function: deployment, container-orchestration, infrastructure-as-code, configuration-management
- domain: self-hosted, infrastructure-as-code, cloud-computing
- platform: cli, self-hosted
- tags: k3s, kubernetes, ansible, kube-vip, metallb, etcd, high-availability, homelab, rancher, cluster-bootstrap, devops, containers, linux

## Member repositories
- timothystewart6/k3s-ansible (main) score 98

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:37.779802+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T07:30:12.339856+00:00, confidence not recorded.
  - readme: https://github.com/timothystewart6/k3s-ansible (fetched 2026-08-28T04:07:37.779802+00:00, sha a5a88a3ca279)
  - homepage: https://technotim.com/posts/k3s-etcd-ansible/ (fetched 2026-08-29T09:45:44.257826+00:00, sha 045e3129d7de)
  - site_page: https://technotim.com/posts/rancher-ha-install (fetched 2026-08-29T09:45:44.266449+00:00, sha f6c975e62399)
  - site_page: https://technotim.com/posts/k3s-ha-install (fetched 2026-08-29T09:45:44.268216+00:00, sha 9a078a5b02c0)
  - site_page: https://technotim.com/about (fetched 2026-08-29T09:45:44.261976+00:00, sha 9e020d7edeb2)
  - site_page: https://technotim.com/posts/ansible-automation (fetched 2026-08-29T09:45:44.264493+00:00, sha dac81db75f85)
  - site_page: https://technotim.com/posts/rancher-monitoring (fetched 2026-08-29T09:45:44.270082+00:00, sha 9a3dd8c8e8e9)
- Data as of 2026-08-30T08:39:29.467469+00:00.
