# Dustin's Kubernetes Cluster This repository contains resources for deploying and managing my on-premises Kubernetes cluster ## Cluster Setup The cluster primarily consists of libvirt/QEMU+KVM virtual machines. The Control Plane nodes are VMs, as are the x86_64 worker nodes. Eventually, I would like to add Raspberry Pi or Pine64 machines as aarch64 nodes. All machines run Fedora, using only Fedora builds of the Kubernetes components (`kubeadm`, `kubectl`, and `kubeadm`). See [Cluster Setup](setup/README.md) for details. ## Jenkins Agents One of the main use cases for the Kubernetes cluster is to provide dynamic agents for Jenkins. Using the [Kubernetes Plugin][0], Jenkins will automatically launch worker nodes as Kubernetes pods. See [Jenkins Kubernetes Integration](jenkins/README.md) for details. [0]: https://plugins.jenkins.io/kubernetes/ ## Persistent Storage Persistent storage for pods is provided by [Longhorn][0]. Longhorn runs within the cluster and provisions storage on worker nodes to make available to pods over iSCSI. See [Persistent Storage Using Longorn](storage/README.md) for details. [0]: https://longhorn.io/