Qbert API
Qbert is the PMK cluster manager, that lives in the management plane. Qbert enables CRUD (create, read, update, delete) operations on one or more Kubernetes clusters within PMK. Qbert exposes a REST API endpoint, that is used by the web UI to communicate with the management plane and can also be used directly.
You can locate the URL for the Qbert API endpoint specific to your PMK deployment by navigating to API Access -> API Endpoints in the PMK UI.
You can use the Qbert REST APIs to automate your cluster management operations with PMK.
Example Endpoint:
curl https://pmk-demo-qbert-1584219278-18238.platform9.io/qbert/v3Qbert Reference
You can view the full API reference here: https://docs.platform9.com/qbert/ref
Qbert Example
Below is a simple example for generating an access token via KeyStone and then accessing the Qbert API to fetch a list of nodes using CURL.
[ ~(admin)]$ TOKEN=$(openstack token issue -f value -c id)[ ~(admin)]$ curl -sH "X-Auth-Token: $TOKEN" -H "Content-Type: application/json" https://user-example-playpen.platform9.learn/qbert/v1/nodes | jq '.[] | select(.status != "ok")'{ "name": "sheda-worker-03", "uuid": "abe3cdc6-279e-49af-bd9c-8e85781b69ff", "primaryIp": "10.128.146.85", "isMaster": 0, "masterless": 0, "status": "converging", "api_responding": 0, "projectId": "6abd68888b4c46709b89965e08cce03e", "startKube": 1, "actualKubeRoleVersion": "4.5.0-10374", "cloudInstanceId": "", "nodePoolUuid": "aba76369-9a6c-4fe6-b4cb-77bfa0c0656b", "nodePoolName": "defaultPool", "clusterUuid": "576c520b-f989-44ee-9802-535a3a22aa71", "clusterName": "sheda-MM", "cloudProviderType": "local", "clusterKubeRoleVersion": "4.5.0-10374"}