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. Learn more →
Client-go Alternatives
Similar projects and alternatives to client-go
-
-
InfluxDB
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.
-
-
-
-
Redis
For developers, who are building real-time data-driven applications, Redis is the preferred, fastest, and most feature-rich cache, data structure server, and document and vector query engine.
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
-
-
-
-
-
-
-
aws-sdk-go
AWS SDK for the Go programming language (In Maintenance Mode, End-of-Life on 07/31/2025). The AWS SDK for Go v2 is available here: https://github.com/aws/aws-sdk-go-v2
-
-
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
client-go discussion
client-go reviews and mentions
- Show HN: Dash0 – Dev-Friendly OpenTelemetry Observability with Open Standards
-
How do Kubernetes Operators Handle Concurrency?
Controller-runtime uses the client-go/util/workqueue library to implement its underlying reconciliation queue. In the package's doc.go file, a comment states that the workqueue supports these properties:
-
How to Write a Kubernetes Operator Using client-go
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.
-
The Inner Workings of Kubernetes Management Frontends — A Software Engineer’s Perspective
The Kubernetes clients (e.g., Go client) support developers with both methods to connect to a cluster, as we can see in the following examples.
-
Has anyone ever tried to learn how k8s works?
My suggestion would be to start looking at things like https://github.com/kubernetes/client-go first in order to get a feel for the API and how data plane k8s components interact with the apiserver (it's the same thing that kubelet uses). Then move on to trying to build your own k8s operator to get a feel for how people expand and customize k8s functionality without having to modify upstream at all. IMO the codebase itself is too messy and in constant flux to make too much sense of it unless you are planning to contribute to upstream.
-
Can't override Kubernetes config in Kubernetes Go client
GitHub related issue https://github.com/kubernetes/client-go/issues/735
-
CUE compared to helm/kustomize...
CUE is cool and all but as soon as I start writing real code structures I want to reach for client-go.
- Go 1.21 will (probably) download newer toolchains on demand by default
-
How to list all kubernetes objects with specific label using client-go
I looked at dynamic package, but it seems like it needs GroupVersionResource, which is different for, say, Service objects and Deployment objects. Also when I pass schema.GroupVersionResource{Group: "apps", Version: "v1"} it doesn't find anything, when I pass schema.GroupVersionResource{Version: "v1"} it finds only namespace object and also doesn't looks for labels, though I provided label options:
-
What's the best way to get notified when kubernetes Deployments change using the k8s.io/client-go library?
I'm writing a script that uses the k8s.io/client-go library (godocs here) to manipulate Deployments. In particular, I want to add a label selector to every Deployment in my cluster. Deployment label selectors are immutable. So my approach is to:
-
A note from our sponsor - InfluxDB
www.influxdata.com | 21 May 2025
Stats
kubernetes/client-go is an open source project licensed under Apache License 2.0 which is an OSI approved license.
The primary programming language of client-go is Go.