Commit d7b631a5 authored by Kubernetes Submit Queue's avatar Kubernetes Submit Queue Committed by GitHub

Merge pull request #46883 from ahmetb/clientgo-toc

Automatic merge from submit-queue clientgo/examples: add ToC for examples Also add authenticate- prefix to auth samples. This patch could use some improvement explaining workqueue and TPR examples as I'm not entirely sure. /assign @caesarxuchao Signed-off-by: 's avatarAhmet Alp Balkan <ahmetb@google.com>
parents 04b7fe82 62d12518
......@@ -384,8 +384,8 @@ staging/src/k8s.io/apiserver/plugin/pkg/authenticator/password/allow
staging/src/k8s.io/apiserver/plugin/pkg/authenticator/request/basicauth
staging/src/k8s.io/client-go/discovery
staging/src/k8s.io/client-go/examples/create-update-delete-deployment
staging/src/k8s.io/client-go/examples/in-cluster
staging/src/k8s.io/client-go/examples/out-of-cluster
staging/src/k8s.io/client-go/examples/in-cluster-client-configuration
staging/src/k8s.io/client-go/examples/out-of-cluster-client-configuration
staging/src/k8s.io/client-go/examples/third-party-resources-deprecated
staging/src/k8s.io/client-go/informers
staging/src/k8s.io/client-go/informers/admissionregistration
......
......@@ -80,7 +80,7 @@ if grep -rq '// import "k8s.io/kubernetes/' 'staging/'; then
exit 1
fi
for EXAMPLE in vendor/k8s.io/client-go/examples/{in-cluster,out-of-cluster,third-party-resources-deprecated} vendor/k8s.io/apiextensions-apiserver/examples ; do
for EXAMPLE in vendor/k8s.io/client-go/examples/{in-cluster-client-configuration,out-of-cluster-client-configuration,third-party-resources-deprecated} vendor/k8s.io/apiextensions-apiserver/examples ; do
test -d "${EXAMPLE}" # make sure example is still there
if go list -f '{{ join .Deps "\n" }}' "./${EXAMPLE}/..." | sort | uniq | grep -q k8s.io/client-go/plugin; then
echo "${EXAMPLE} imports client-go plugins by default, but shouldn't."
......
# client-go Examples
This directory contains examples that cover various use cases and functionality
for client-go.
### Configuration
- [**Authenticate in cluster**](./in-cluster-client-configuration): Configure a
client while running inside the Kubernetes cluster.
- [**Authenticate out of cluster**](./out-of-cluster-client-configuration):
Configure a client to access a Kubernetes cluster from outside.
### Basics
- [**Managing resources with API**](./create-update-delete-deployment): Create,
get, update, delete a Deployment resource.
### Advanced Concepts
- [**Work queues**](./workqueue): Create a hotloop-free controller with the
rate-limited workqueue and the [informer framework][informer].
- [**Third-party resources (deprecated)**](./third-party-resources-deprecated):
Register a custom resource type with the API, create/update/query this custom
type, and write a controller drives the cluster state based on the changes to
the custom resources.
[informer]: https://godoc.org/k8s.io/client-go/tools/cache#NewInformer
......@@ -9,7 +9,7 @@ load(
)
go_binary(
name = "in-cluster",
name = "in-cluster-client-configuration",
library = ":go_default_library",
tags = ["automanaged"],
)
......
# Authenticating inside the cluster
This example shows you how you can write an application that authenticates to
the Kubernetes API while it is running on a Kubernetes cluster.
This example shows you how to configure a client with client-go to authenticate
to the Kubernetes API from an application running inside the Kubernetes cluster.
client-go uses the [Service Account token][sa] mounted inside the Pod at the
`/var/run/secrets/kubernetes.io/serviceaccount` path when the
......@@ -11,7 +11,7 @@ client-go uses the [Service Account token][sa] mounted inside the Pod at the
First compile the application for Linux:
cd in-cluster
cd in-cluster-client-configuration
GOOS=linux go build -o ./app .
Then package it to a docker image using the provided Dockerfile to run it on
......
......@@ -9,7 +9,7 @@ load(
)
go_binary(
name = "out-of-cluster",
name = "out-of-cluster-client-configuration",
library = ":go_default_library",
tags = ["automanaged"],
)
......
# Authenticating outside the cluster
This example shows you how to authenticate to the Kubernetes API from an
application running outside the Kubernetes cluster with client-go.
This example shows you how to configure a client with client-go to authenticate
to the Kubernetes API from an application running outside the Kubernetes
cluster.
You can use your kubeconfig file that contains the context information
of your cluster to initialize a client. The kubeconfig file is also used
......@@ -14,7 +15,7 @@ Make sure your `kubectl` is configured and pointed to a cluster. Run
Run this application with:
cd out-of-cluster
cd out-of-cluster-client-configuration
go build -o app .
./app
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment