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: Ahmet Alp Balkan <ahmetb@google.com>
pull/6/head
Kubernetes Submit Queue 2017-06-16 14:14:26 -07:00 committed by GitHub
commit d7b631a52d
10 changed files with 40 additions and 11 deletions

View File

@ -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

View File

@ -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."

View File

@ -0,0 +1,28 @@
# 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

View File

@ -9,7 +9,7 @@ load(
)
go_binary(
name = "in-cluster",
name = "in-cluster-client-configuration",
library = ":go_default_library",
tags = ["automanaged"],
)

View File

@ -1,7 +1,7 @@
# 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

View File

@ -9,7 +9,7 @@ load(
)
go_binary(
name = "out-of-cluster",
name = "out-of-cluster-client-configuration",
library = ":go_default_library",
tags = ["automanaged"],
)

View File

@ -1,7 +1,8 @@
# 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