/k3s-terraform-ansible

K3s kubernetes cluster automated install with Terrafrom and Ansible

Primary LanguageHCLApache License 2.0Apache-2.0

k3s-terraform-ansible for make kubernetes install and config easy

Branches

  • main -> Maintained version of the repo
  • k3s-postgres -> Old version which uses external PostgresSQL for K3S database

Branch Info

Terraform

  • Terraform provider made for Libvirt (qemu/kvm) and Proxmox.
  • Each cluster section contains own Terraform directory and setting. Example: etcd cluster has own playbook and k3s management and downstream has own too.
  • Q35 vm fix get from this issue, thank you so much: dmacvicar/terraform-provider-libvirt#885 (comment)

Ansible

  • Each cluster section contains own playbook, like in Terraform.

Features

  • All of the required kubernetes app deployed by manifest files.

Management cluster

Architecture

Features

  • Rancher
  • Rancher Backup
  • Longhorn
  • Cert-manager
  • Nginx ingress controller
  • Kube-vip
  • Kube-vip cloud controller
  • Harbor

Downstream cluster

Architecture

Features

  • Crm cluster with pacemaker and corosync for nginx loadbalancer
  • Metallb
  • Longhorn
  • Nginx ingress controller
  • Cert-manager

Storage cluster

Architecture

Features

  • Longhorn
  • Cert-manager
  • Nginx ingress controller
  • Kube-vip
  • Kube-vip cloud controller
  • Minio Operator
  • Minio Tenant

Raspberry

Architecture

Features

  • Cert-manager
  • Nginx ingress controller
  • Metallb
  • ArgoCD
  • InfluxDB
  • Longhorn