k8s
Open source container management platform.
total methods: 267
total selectable resources: 24
See also:
[SHOW
] [DESCRIBE
] [REGISTRY
]
Installation
To pull the latest version of the k8s
provider, run the following command:
REGISTRY PULL k8s;
To view previous provider versions or to pull a specific provider version, see here.
Authentication
cluster_addr
is a required parameter for all operations using the k8s
provider, for example: SELECT name, namespace, uid, creationTimestamp
FROM k8s.core_v1.service_account
WHERE cluster_addr = '35.244.65.136' AND namespace = 'kube-system'
ORDER BY name ASC;
Example using kubectl proxy
kubectl proxy
is the default authentication method for the k8s
provider, no other variables or configuration is necessary to query the k8s
provider if you are using this method.
The protocol
parameter is required when accessing a Kubernetes cluster via kubectl proxy
, see the example below:
select name, namespace, uid, creationTimestamp
from k8s.core_v1.pod
where protocol = 'http'
and cluster_addr = 'localhost:8080'
order by name asc limit 3;
Example using direct cluster access
If you are using an access token to access the k8s
API, follow the instructions below (use exec
instead of shell
for non interactive operations):
export K8S_TOKEN='eyJhbGciOiJ...'
AUTH='{ "k8s": { "type": "bearer", "credentialsenvvar": "K8S_TOKEN" } }'
stackql shell --auth="${AUTH}" --tls.CABundle k8s_cert_bundle.pem
You will need to generate a certificate bundle for your cluster (k8s_cert_bundle.pem
in the preceeding example), you can use the following code to generate this (for MacOS or Linux):
kubectl get secret -o jsonpath="{.items[?(@.type=="kubernetes.io/service-account-token")].data['ca\.crt']}" | base64 -i --decode > k8s_cert_bundle.pem
Alternatively, you could add the --tls.allowInsecure=true
argument to the stackql
command, it is not recommended however.
Server Parameters
The following parameters may be required for the k8s
provider:
protocol
-https
orhttp
(default:https
)cluster_addr
- The hostname of the Kubernetes cluster (default:localhost
)
This parameter would be supplied to the WHERE
clause of each SELECT
statement.