Example on how to interact with Kubernetes via the Golang client library.
A Golang version with support for vendoring (1.5+) is required.
This sample project includes a vendored copy of the client-go 1.4 package (and its dependencies). It uses Glide for dependency management.
go build -o client
./client <operation>
where <operation>
is one of the following:
version
: Queries the Kubernetes server version.deploy
: Deploys NGINX via the Deployments API and exposes a Service.
The client tries to reach the API server through http://127.0.0.1:8001
which happens to match the default tunnel set up by kubectl proxy
. Custom overriding settings for the API server URL, a bearer token, and the path to a CA file can be injected through the environment variables SERVER
, TOKEN
, and CA_FILE
, respectively.
There is also a convenience script run.sh
that builds on demand (or forcefully when -b
is given as first parameter) and executes the client with all arguments passed along. That is, invoking
./run.sh version
will build the client iff it does not exist yet, and executes it subsequently with version
passed as parameter.