-
kubernetes-controller-tutorial
This repository provides an opinionated tutorial on building Kubernetes controllers, sharing best practices and design patterns I have found most effective
When covering reconcilers we will cover:
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
Kubebuilder, a framework by Kubernetes SIGs, simplifies creating Kubernetes APIs using Custom Resource Definitions.
-
k8s-cleaner
Cleaner is a Kubernetes controller that identifies unused or unhealthy resources, helping you maintain a streamlined and efficient Kubernetes cluster. It provides flexible scheduling, label filtering, Lua-based selection criteria, resource removal or update and notifications via Slack, Webex and Discord. it can also automate clusters operations.
When I developed k8s-cleaner the goal was to create a tool that could identify unused or unhealthy resources across the cluster. This tool could then either remove or update those resources as needed.
-
addon-controller
Sveltos Kubernetes add-on controller programmatically deploys add-ons and applications in tens of clusters. Support for ClusterAPI powered clusters, Helm charts, kustomize ,YAMLs. Sveltos has built-in support for multi-tenancy.
I also maintain another open-source project called addon-controller. It's a Kubernetes controller that simplifies managing add-ons and applications across multiple clusters. It operates from a central management cluster, managing add-ons and applications on the managed clusters it oversees.
-
Sveltos supports registering various clusters (GKE, Civo, etc.) with it. Once a cluster is registered, Sveltos can deploy add-ons and applications on it. The SveltosCluster CRD (defined in SveltosCluster) enables cluster registration with Sveltos.
-
claudie-sveltos-integration
This repository aims to streamline the integration between Claudie and Sveltos. It incorporates a controller that monitors Claudie's Secrets for kubeconfig files of Claudie-managed clusters and automatically creates corresponding SveltosCluster resources.
Also note, not all controllers need to define a new custom resource. For instance https://github.com/gianlucam76/claudie-sveltos-integration is a controller that watches for Kubernetes Secrets created by Claudie and creates a corresponding SveltosCluster resource so that Sveltos can automatically discover clusters created by Claudie.