How to Write a Kubernetes Operator Using client-go

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

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • 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.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • 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.

  • 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.

  • 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.

  • sample-controller

    Repository for sample controller. Complements sample-apiserver

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

  • 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 with an NGINX CRD

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

    4 projects | dev.to | 26 Nov 2023
  • Creating Kubernetes Operators with operator-sdk

    4 projects | dev.to | 9 Sep 2023

Did you konow that Go is
the 4th most popular programming language
based on number of metions?