How To Create K8S Cluster Using Qbert API And Private Docker Registry

Problem

  • How to use the Qbert API to create new K8S cluster?

  • How to create a k8s cluster using Qbert API and Private Docker Registry

Environment

  • Platform9 Managed Kubernetes - all version

Procedure

  • Generate a Keystone authentication token with project scope by following Keystone Identity API.

  • Use below API to create a new cluster with private docker repository

curl -i -X POST \
   -H "Content-Type: application/json" \
   -H "X-Auth-Token: $TOKEN" \
   -d \
'{
    "nodePoolUuid" : "<node_pool_uuid>",
    "allowWorkloadsOnMaster" : true,
	  "name": "<cluster_name>",
	  "containersCidr": "<container_cidr>",
	  "networkPlugin": "calico",
	  "servicesCidr": "<service_cidr>",
	  "kubeRoleVersion": "<kube_role_version>",
	  "containerRuntime": "<container_runtime>",
	  "dockerPrivateRegistry": "<private_docker_registry_url>",
	  "k8sPrivateRegistry": "<private_docker_registry_url>",
	  "gcrPrivateRegistry": "<private_docker_registry_url>",
	  "quayPrivateRegistry": "<private_docker_registry_url>",
    "privileged" : true
}' \
 'https://<FQDN>/qbert/v4/<project_uuid>/clusters'
  • Once the cluster is created attach a node as master using below API call

  • Once master node is attached to the cluster and becomes ready, you can attach worker node using same API call to add the node changing 'isMaster' parameter to false

Additional Information

Docker Images

Name

Version

Last updated