How to Write a Kubernetes Operator Using client-go

This page summarizes the projects mentioned and recommended in the original post on dev.to

Sevalla - Deploy and host your apps and databases, now with $50 credit!
Sevalla is the PaaS you have been looking for! Advanced deployment pipelines, usage-based pricing, preview apps, templates, human support by developers, and much more!
sevalla.com
featured
InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
  1. client-go

    Go client for Kubernetes.

    client-go is the official Golang client for Kubernetes, responsible for interacting with the Kubernetes API server using REST API. In fact, client-go can do almost anything, not just for writing operators. Even the internal implementation of kubectl is based on client-go. As for more specialized frameworks used to write operators, including controller-runtime, kubebuilder, and operator-sdk, they will be introduced later in this series.

  2. Sevalla

    Deploy and host your apps and databases, now with $50 credit! Sevalla is the PaaS you have been looking for! Advanced deployment pipelines, usage-based pricing, preview apps, templates, human support by developers, and much more!

    Sevalla logo
  3. controller-runtime

    Repo for the controller-runtime subproject of kubebuilder (sig-apimachinery)

    client-go is the official Golang client for Kubernetes, responsible for interacting with the Kubernetes API server using REST API. In fact, client-go can do almost anything, not just for writing operators. Even the internal implementation of kubectl is based on client-go. As for more specialized frameworks used to write operators, including controller-runtime, kubebuilder, and operator-sdk, they will be introduced later in this series.

  4. kubebuilder

    Kubebuilder - SDK for building Kubernetes APIs using CRDs

    client-go is the official Golang client for Kubernetes, responsible for interacting with the Kubernetes API server using REST API. In fact, client-go can do almost anything, not just for writing operators. Even the internal implementation of kubectl is based on client-go. As for more specialized frameworks used to write operators, including controller-runtime, kubebuilder, and operator-sdk, they will be introduced later in this series.

  5. operator-sdk

    SDK for building Kubernetes applications. Provides high level APIs, useful abstractions, and project scaffolding.

    client-go is the official Golang client for Kubernetes, responsible for interacting with the Kubernetes API server using REST API. In fact, client-go can do almost anything, not just for writing operators. Even the internal implementation of kubectl is based on client-go. As for more specialized frameworks used to write operators, including controller-runtime, kubebuilder, and operator-sdk, they will be introduced later in this series.

  6. sample-controller

    Repository for sample controller. Complements sample-apiserver

    sample-controller is an official Kubernetes example operator implemented using client-go.

  7. code-generator

    Generators for kube-like API types

    The Sample Controller uses Kubernetes' code-generator to generate typed clients, informers, listers, and deep-copy functions for the CRD. So whenever you modify types.go, you need to run ./hack/update-codegen.sh to regenerate the code.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • What Is A Kubernetes Operator?

    3 projects | dev.to | 7 Jul 2023
  • InterSystems Kubernetes Operator Deep Dive: Introduction to Kubernetes Operators

    3 projects | dev.to | 21 Jan 2021
  • Building a Kubernetes Operator | A Practical Guide

    5 projects | dev.to | 28 Dec 2024
  • 🚀 Building a Kubernetes Operator with an NGINX CRD

    1 project | dev.to | 29 Aug 2024
  • Annotations in Kubernetes Operator Design

    4 projects | dev.to | 26 Nov 2023