xRally plugins for Kubernetes platform.
Work in progress. The active phase of development.
First of all, you need to create rally env for Kubernetes. There are two main ways to communicate to Kubernetes cluster - specifying auth-token or certifications. Choose what is suitable for your case and use one of the following samples.
To create env using certifications, use spec samples/platforms/cert-spec.yaml
:
rally env create --name kubernetes --spec samples/platforms/cert-spec.yaml
For using Kubernetes token authentication, you need to get API key and use
samples/platforms/apikey-spec.yaml
spec to create env:
rally env create --name kubernetes --spec samples/platforms/apikey-spec.yaml
For initialization Rally environment
to communicate to existing Kubernetes
cluster you can also use system environment variables instead of making
specification json/yaml file. See the list of available options:
-
As like regular kubernetes client (kubectl) Rally can read kubeconfig file. Call
rally env create --name kubernetes-created --from-sys-env
and Rally with check$HOME/.kube/config
file to the available configuration. Also, you can specifyKUBECONFIG
variable with a path different to the default$HOME/.kube/config
. -
Despite the fact that
kubectl
doesn't support specifying Kubernetes credentials via separated system environment variables per separate option (auth_url, api_key, etc) like other platforms support (OpenStack, Docker, etc), Rally team provides this way. Check existing@kubernetes plugin documentation for the list of all available variables. Here is a simple example of this feature:# the URL to the Kubernetes host. export KUBERNETES_HOST="https://example.com:3030" # a path to a file containing TLS certificate to use when connecting to the Kubernetes host. export KUBERNETES_CERT_AUTH="~/.kube/cert_auth_file" # client API key to use as token when connecting to the Kubernetes host. export KUBERNETES_API_KEY="foo" # client API key prefix to use in token when connecting to the Kubernetes host. export KUBERNETES_API_KEY_PREFIX="bar" # finally create a Rally environment rally env create --name my-kubernetes --from-sysenv
Check env availbility by the following command:
rally env check
The primary tracking system is Issues at GitHub.
For Rally framework related issues look at Launchpad.