mirror of
https://github.com/kubernetes/client-go.git
synced 2025-09-28 16:06:49 +00:00
The "// import <path>" comment has been superseded by Go modules. We don't have to remove them, but doing so has some advantages: - They are used inconsistently, which is confusing. - We can then also remove the (currently broken) hack/update-vanity-imports.sh. - Last but not least, it would be a first step towards avoiding the k8s.io domain. This commit was generated with sed -i -e 's;^package \(.*\) // import.*;package \1;' $(git grep -l '^package.*// import' | grep -v 'vendor/') Everything was included, except for package labels // import k8s.io/kubernetes/pkg/util/labels because that package is marked as "read-only". Kubernetes-commit: 8a908e0c0bd96a3455edf7e3b5f5af90564e65b0
client-go Examples
This directory contains examples that cover various use cases and functionality for client-go.
Auth plugins
Client configuration is typically loaded from kubeconfig files containing server and credential configuration. Several plugins for obtaining credentials from external sources are available, but are not loaded by default. To enable these plugins in your program, import them in your main package.
You can load all auth plugins:
import _ "k8s.io/client-go/plugin/pkg/client/auth"
Or you can load specific auth plugins:
import _ "k8s.io/client-go/plugin/pkg/client/auth/azure"
import _ "k8s.io/client-go/plugin/pkg/client/auth/gcp"
import _ "k8s.io/client-go/plugin/pkg/client/auth/oidc"
Configuration
- Authenticate in cluster: Configure a client while running inside the Kubernetes cluster.
- Authenticate out of cluster: Configure a client to access a Kubernetes cluster from outside.
Basics
- Managing resources with API: Create, get, update, delete a Deployment resource.
Advanced Concepts
- Work queues: Create a hotloop-free controller with the rate-limited workqueue and the informer framework.
- Custom Resource Definition (CRD): Register a custom resource type with the API, create/update/query this custom type, and write a controller that drives the cluster state based on the changes to the custom resources.
- Leader election: Demonstrates the use of the leader election package, which can be used to implement HA controllers.
Testing
- Fake Client: Use a fake client in tests.