K3s Ansible

screenshot of 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.

Overview

Building a highly available (HA) Kubernetes cluster can be quite a task, but with the automated K3s cluster installation using kube-vip and MetalLB, it becomes significantly simpler. This setup leverages Ansible to streamline the process, ensuring that users can configure their clusters without extensive manual intervention. This solution not only enhances efficiency but also improves the reliability of your deployments by making use of the latest technologies in the Kubernetes ecosystem.

The playbook allows users to effortlessly set up an HA K3s cluster that is compatible with common operating systems such as Debian, Ubuntu, and Rocky. By utilizing kube-vip for load balancing and MetalLB for service load balancers, this tool ensures that your Kubernetes control plane and its associated services run smoothly and efficiently.

Features

  • Fully Automated Installation: The playbook automates the installation process of K3s with essential configurations, making it user-friendly for both novices and experienced users.
  • HA Configuration: Automatically set up K3s in high availability mode, ensuring constant uptime and reliability for your applications.
  • Multi-OS Support: Compatible with multiple operating systems, including Debian, Ubuntu, and Rocky, catering to a wide range of environments.
  • Load Balancing Solutions: Integrates kube-vip and MetalLB to provide effective load balancing for both control plane and service layers, improving performance and responsiveness.
  • Ansible Powered: Built on Ansible, leveraging existing knowledge and workflows to streamline installation and management processes.
  • Customization Options: Users can easily modify configurations through inventory files and variable settings, allowing for tailored deployments suited to specific needs.
  • Passwordless SSH: Facilitates easier communication between nodes by requiring passwordless SSH access, simplifying the command execution process during installation and management.
  • Testing Commands: Provides a set of commands for testing your cluster, ensuring that everything runs as expected and simplifying troubleshooting.