Kubernetes

My cluster is Ubuntu provisioned on bare-metal using Talos.

This is a semi hyper-converged cluster, workloads and block storage are sharing the same available resources on my nodes while I have a separate server for (NFS) file storage.

Core Components

  • metallb: A network load-balancer implementation using standard routing protocols
  • kube-vip: Provides static virtual IPs for services
  • cert-manager: Creates SSL certificates for services in my Kubernetes cluster.
  • external-dns: Automatically manages DNS records from my cluster in a cloud DNS provider.
  • longhorn: Distributed storage for persistent storage
  • traefik: Ingress controller to expose HTTP traffic to pods over DNS
  • sops: Managed secrets for Kubernetes, Talos and Terraform which are commited to Git.