Clusters

Create Cluster

Creates a Kubernetes cluster in Hyperstack with the specified custom configuration and features provided in the request body. To create a Kubernetes cluster, specify its configuration details by filling in the required fields in the request payload. These fields include the cluster name, node type, Kubernetes version, hardware configuration, and other relevant parameters. Once the payload is complete, send the request to the /core/clusters API using the POST method to deploy the cluster with the specified configuration. Creation usually takes around 15 minutes. Larger clusters, and creating several clusters at once, take longer. You can check the status of the cluster by calling the 'Retrieve Cluster Details' API. If your cluster is not in the ACTIVE state after 60 minutes, please remove the cluster and try again.

post/core/clusters

Request

  • Base URL: https://infrahub-api.nexgencloud.com/v1
  • URL: https://infrahub-api.nexgencloud.com/v1/core/clusters
  • Auth: API key in header api_key

Request body

environment_namestring required

Name of the environment containing the resource.

keypair_namestring required

Name of the SSH keypair attached to the VM.

kubernetes_versionstring required

Kubernetes version installed on the cluster.

master_flavor_namestring required

Flavor used for the master nodes.

namestring required

Name of the Kubernetes cluster.

master_countinteger

Minimum master count is 2; 1 is rejected.

node_countinteger

Total number of worker nodes in the cluster.

node_flavor_namestring

Flavor used for the worker nodes.

deployment_mode'full' | 'standard'

Cluster deployment mode (single-node, HA, etc.).

Example request

{
  "deployment_mode": "full",
  "node_groups": [
    {
      "role": "worker"
    }
  ]
}

Response

Success

statusboolean

Whether the request succeeded.

messagestring

Human-readable description of the result.

Example response

{
  "status": true,
  "message": "Cluster created successfully",
  "cluster": {
    "id": 1402,
    "name": "example-c1",
    "environment_name": "example-environment",
    "kubernetes_version": "1.35.1",
    "api_address": "https://api.example-c1-8a1cf2.example-environment.hyperstackcustomers.cloud:6443",
    "kube_config": "YXBpVmVyc2lvbjogdjEKY2x1c3RlcnM6Ci0gY2x1c3RlcjoKICAgIGNlcnRpZmljYXRlLWF1dGhvcml0eS1kYXRhOiBMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VSQ1ZFTkRRV1V5WjBGM1NVSkJaMGxKU0ZWVmFubzVTbEYwYmtsM1JGRlpTa3R2V2tsb2RtTk9RVkZGVEVKUlFYZEdWRVZVVFVKRlIwRXhWVVVLUVhoTlMyRXpWbWxhV0VwMVdsaFNiR042UVdWR2R6QjVUbXBCTVUxRVkzaE9lbFY1VFZSQ1lVWjNNSHBPYWtFeFRVUlJlRTU2VlROTlZFSmhUVUpWZUFwRmVrRlNRbWRPVmtKQlRWUkRiWFF4V1cxV2VXSnRWakJhV0UxM1oyZEZhVTFCTUVkRFUzRkhVMGxpTTBSUlJVSkJVVlZCUVRSSlFrUjNRWGRuWjBWTENrRnZTVUpCVVVNM1JVdFNlamRsTjNSaUsxTjZWa2RoT1c1R1RrSklXR2hHSzFka2VYQkRiMGd6WjB4blpWQnZRbTlpZUM4d1RsWjZkSHBLYTJJMWJUUUtZbUl6ZGtSbE5VTmtiSFVyYkhWcFMzRllXbWhQV0hwV05taEdWR05aYTNwTGFrUlZjMlZRU0ZaWk5XZG5Na1pDTURsdFkwVk5iMnhzUkhaV1owWldSQXBWTjJ0YVNIaDZUVGwzWjBWeGVqQkRiM2RCYUZGcFJXaFdRVVpJVHpVNU16bEpjRnBtZVdkaFVXVmlZbGx5ZUdadmMyVldZaTlHT1hOdVZ6SXdVRE01Q2pWTVluUXJPR3hNVEdKRFFrTXdNMG93V0dGU1NVUlVRbXRYZURSWlZWbDRTM05QY0dOU01tbENhVkpKYWsxamJrdHdNVTkwV21sQ2EycHdUV3RxYkcwS2EzaDVZbk13ZFRkblFucElObHBZYVZoMVJYUTVSMVJPTHpVMmRrTTNZelZxY0c5TVIyWjFRbmhsV1RoUlltWlVTRUpVYW0xWVpXUk1keXRJTlRrelNRcEllRXAwTW1oSVJqRkJiRVk0UlUxUVMwZGpNR2h6ZEdoSldtdHFRV2ROUWtGQlIycFhWRUpZVFVFMFIwRXhWV1JFZDBWQ0wzZFJSVUYzU1VOd1JFRlFDa0puVGxaSVVrMUNRV1k0UlVKVVFVUkJVVWd2VFVJd1IwRXhWV1JFWjFGWFFrSlVMM0ZKT1doYWRDdFdOMVZXTWtORWEyRk1XRXBWT1VOM1JteEVRVllLUW1kT1ZraFNSVVZFYWtGTloyZHdjbVJYU214amJUVnNaRWRXZWsxQk1FZERVM0ZIVTBsaU0wUlJSVUpEZDFWQlFUUkpRa0ZSUVU1Q1puSTBUa2xYUndwa00xRjZVa04yUzJsd2VIQkxUemRXT1VwMldsUnBSRFZDUVZoUWVHbFpObVp2YUdGSlpFeFZRVGNyWVVGSk9USlpUbnBpTVVWTlFUaDVlbll3Yml0TkNteDBkR2xNYzFaU2VGaFdSVFVyU1dRNFFUSklORXN3ZVhoR2RVNTZNRmd4VlVONE5sRm9WM2xaTlZGamRreHVVbUYzUjB0a1VIVnZXRkpJTkdOWFRGY0tRV1ZuUjFSRk1Fa3hWV3d5ZG1wd1FsQnZWR0ZWY1RScmFqSmpSRGc1S3pkWFpGTlpSRmN5VXpoMWNIaFBaVkpQWjJkQ00wOXRZMVJ6VFROcWRYQjRXUXBhVkVKQlNpdEJVRmswTUU5Q05raFNRVWc1TnpORGIyOW9iSEpZZDFOVFJESlZWbkV4ZG5kTWIwczNhbkJKUm01R1psTXlVVUZNWVd0WmIycGpZVkJNQ2xFM2JYTk5ka1JqZDFWV01HTTBXRXhNYVZSNWFEZHhZa2RzYlU5YVIwY3lhVFp3TjNKTVlUSlJNVzFLSzNkTWRVVlBNVkJLV1VOQk16RXdOMDk1UkZrS2NFRkZVMDg0YzFSa1kwZEVDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsKICAgIHNlcnZlcjogaHR0cHM6Ly9hcGkuYXBpdGVzdC01NTJmODI2YS1jMS04YTFjZjIuYXBpdGVzdC01NTJmODI2YS1lbnYuaHlwZXJzdGFja2N1c3RvbWVycy5jbG91ZDo2NDQzCiAgbmFtZTogYXBpdGVzdC01NTJmODI2YS1jMS04YTFjZjIKY29udGV4dHM6Ci0gY29udGV4dDoKICAgIGNsdXN0ZXI6IGFwaXRlc3QtNTUyZjgyNmEtYzEtOGExY2YyCiAgICB1c2VyOiBrdWJlcm5ldGVzLWFkbWluCiAgbmFtZToga3ViZXJuZXRlcy1hZG1pbkBhcGl0ZXN0LTU1MmY4MjZhLWMxLThhMWNmMgpjdXJyZW50LWNvbnRleHQ6IGt1YmVybmV0ZXMtYWRtaW5AYXBpdGVzdC01NTJmODI2YS1jMS04YTFjZjIKa2luZDogQ29uZmlnCnVzZXJzOgotIG5hbWU6IGt1YmVybmV0ZXMtYWRtaW4KICB1c2VyOgogICAgY2xpZW50LWNlcnRpZmljYXRlLWRhdGE6IExTMHRMUzFDUlVkSlRpQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENrMUpTVVJMVkVORFFXaEhaMEYzU1VKQlowbEpXV05zY1d4b1dUUlFaR2QzUkZGWlNrdHZXa2xvZG1OT1FWRkZURUpSUVhkR1ZFVlVUVUpGUjBFeFZVVUtRWGhOUzJFelZtbGFXRXAxV2xoU2JHTjZRV1ZHZHpCNVRtcEJNVTFFWTNoT2VsVjVUVlJDWVVaM01IbE9la0V4VFVSamVFNTZWVE5OVkVKaFRVUjNlQXBJZWtGa1FtZE9Wa0pCYjFSR2JYUXhXVzFXYUZwSE1EWlpNbmd4WXpOU2JHTnBNV2hhUnpGd1ltNU5lRWRVUVZoQ1owNVdRa0ZOVkVWSGRERlpiVlo1Q21KdFZqQmFXRTEwV1ZkU2RHRlhOSGRuWjBWcFRVRXdSME5UY1VkVFNXSXpSRkZGUWtGUlZVRkJORWxDUkhkQmQyZG5SVXRCYjBsQ1FWRkRkbWw2YUZVS1ZrMTNSMGx5UzBoTlRHeHJVVkp5S3psNGRIWlVXVWR5TW1WSWJqTTNXRU5MT1V0UlFUTlVTbVUyTUVzeE1VOURNMWR4YW1GblVHOVBkRlJNUzJGbmFncFNVVW9yYURKNVJFTktXbVExYmxKU2JGYzBRMmhIT0dacU1qZFZTMk5CZG0xdFduWklkVGRPVm5SaFQxVXJWM0E1ZEhScVNIQllOMFpwWTFSTVpUSXZDbnBaVHpSRVJYbHdVMDlIYTJkb1QxQjNUM05RY0VGU2MwdFpaVTlXWWxoM1RXVnlVbVZCUTNNM1dqVnJWVE4wV1hJd1kybzVVVkZqYmxGUFUwaE5TSFVLTld4clNtTjFSbmhpZWtwNWVWQllXVTlsTVM5cGNtdFliVmx3VVV0aGJGUlJSMVV6UmpsS05XcFFUR3hTTVhsMVNEZExWVkJWVW1aRVowa3hSRloxZHdwTFVsaGFUak5GYm14Q2NFcHpVR2Q2ZUV0NGJ5c3ZSa0p2TTAxd2FrOXZNRXRHY2tVcmVXSXdiVzQwT0hwS2MyUlhjbTFUU1VNeWVYRkZPRUpOZWxaMENqWkdlVzU2YUZwV01scFZPR3czVlZwQlowMUNRVUZIYWxacVFsVk5RVFJIUVRGVlpFUjNSVUl2ZDFGRlFYZEpSbTlFUVZSQ1owNVdTRk5WUlVSRVFVc0tRbWRuY2tKblJVWkNVV05FUVdwQlRVSm5UbFpJVWsxQ1FXWTRSVUZxUVVGTlFqaEhRVEZWWkVsM1VWbE5RbUZCUmxBcmIyb3lSbTB6TlZoMFVsaFpTUXBQVW05MFkyeFVNRXhCVjFWTlFUQkhRMU54UjFOSllqTkVVVVZDUTNkVlFVRTBTVUpCVVVFMVYyUnRTMVpLVm1SUWVHbHJSMEprVkZFclVXNUxaek0zQ2pSc1NUQjFkV1JrYkRFeWNqRjJPSGh5WldaR1YzRktXRXB2VFd0cU1XZ3hZazE1YjB4c2IzTkdTa2hSWmtSMWJsRnpUR1ExYkV4Skx6WjZORXhoYUdvS2R6ZzBjbGxSTmtwa05IRmFhVmhGWkU1WGNYbHpXRTFWY1hFME5uQlRVazVHV0doT1JEZ3ZZamhRWW04NE5XWTRVbTVuVG5FME0yMVRlR1pNZEdKRVRncElTblE1UlRseFMwSndXV3gwY25SU1VFRnhNMGt6TW5sTGJFUnZVR3hzTWswelNFOXhjRmRUT1V0QlNVZzFWVzAxWm1KRmJWbExNVk50VlhnMWFtOHhDakJKZW1aTGRrRnVabmRrYzB4WVJVY3dLM0o2VFRRelFuVXJUbEE1VlZFNVJVeEliRlZpY1hBeFYwdG5lbXN5ZUZoWU5ubFFhM05HY0d4Q09HMDVNUzhLUWxGSmNVWmlhbEJ0Wm5SQ1ZFWk1UbEpwVlVVM2RHeENjVGx2TTBwRWVEWkJiRkZhZEZOSlYzaDJOWHBTU0hVemQxTXlTMVY0UkZCTmNIcFhDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsKICAgIGNsaWVudC1rZXktZGF0YTogTFMwdExTMUNSVWRKVGlCU1UwRWdVRkpKVmtGVVJTQkxSVmt0TFMwdExRcE5TVWxGY0VGSlFrRkJTME5CVVVWQmNqUnpORlpHVkUxQ2FVdDVhSHBETlZwRlJXRXZkbU5pWWpBeVFuRTVibWcxT1NzeGQybDJVMnRCVGpCNVdIVjBDa04wWkZSbmRERnhiekp2UkRaRWNsVjVlVzF2U1RCVlEyWnZaSE5uZDJsWFdHVmFNRlZhVm5WQmIxSjJTRFE1ZFRGRGJrRk1OWEJ0WW5nM2RYcFdZbGNLYW14UWJIRm1ZbUpaZURaV0szaFpia1Y1TTNSMk9ESkVkVUY0VFhGVmFtaHdTVWxVYWpoRWNrUTJVVVZpUTIxSWFteFhNVGhFU0hFd1dHZEJjazh5WlFwYVJrNDNWMHM1U0VrdlZVVklTakJFYTJoNlFqZDFXbHBEV0V4b1kxYzRlV056YWpFeVJHNTBaalJ4TlVZMWJVdFZRMjF3VlRCQ2JFNTRabE5sV1hwNUNqVlZaR055YUN0NWJFUXhSVmgzTkVOT1VURmljME5yVmpKVVpIaEtOVkZoVTJKRU5FMDRVM05oVUhaNFVXRk9la3RaZW5GT1EyaGhlRkJ6YlRsS2NDc0tVRTE1WWtoV2NUVnJhVUYwYzNGb1VFRlVUVEZpWldoamNEZzBWMVprYlZaUVNtVXhSMUZKUkVGUlFVSkJiMGxDUVVGbmNtRkpSekJQU2t0SmFIUndNd293UVdvd1duSmpOamxPU0c1UU5FOXdOMnBQUjFjNFZXWnRVSE5QZW1nMllWaFBSa2RUUTB0ekx6QjBMMjlhVEhKUFowRkRabXR4TVRaWWJrNHZObFJTQ21Zek16ZFFZWEZYVlRkd1YxRXpNbkZvVkZCdGFGbFZlRzlHWWtocU9FZExjWGN5VVhCbU1sVXJXSHBTWWxwV2VqUkliWEZDTkdsSWJtWjFkM2gwYVZNS1FtSTFUVTR6UkZoUU5XeEpkblJRZURCMFkzazRabUYwZGtGdWJtZG5WbUkzV1ZkRU4wRnJSM00zVEZKb2F6aE5WRk53VFhBNGVWTlhWRzV4UjJ0M2JncEtkR3BITTJkT1dqZDRRMDlrTW5aUFNWVXlaalpYV0dkSWFuQjRTVmd2WkhOSVJrTTBNR3RCTUhZclpXY3lNVUpwUWpBNVQyVjFPQ3RwUVcxNVlsSk1DalpXUjBWcFlsTkZUMVpXWWxNemExbGxOVlpETWs5emEwTlJNbkphTkVzeUsxQk5RbTlxZGxkYWR6WktOV0V5Tm5wME5HVjJabk5LTkVVeGMydEpTV1FLTHpNM1RXWjNSVU5uV1VWQmR6bFNRV1l6WkZOdk1VNTBVVmMzYmxkSGJWRTVla2h3YW5OalQyTjRaMEZQWW5FMlUwaDRiV1pTYlVWSFltWlJabVpTYVFwV1NFSTRjQ3MyTmtWUk5VczJlR3R0UjBsMVRrRjVOM2hNWjBoWE0wTlhkelJKTnprNFFuQkVTelo2VG5ZMFlsY3ZkbTVXV1dOdVlXTllUazFIYms1bkNrSmlUbnBFU1ZKU1dHNXhRMVJsWlZkclkzQmtablZoTjNweWNESmlWVXR0WmpJM2VqRlBNME5TWWpoNVJXRTJibHBGYjFFeVUydERaMWxGUVRWWWRGa0tZMDlTT1VkelF6QnVZWE15TTNrdmFqWlBaWFpoYURCWFdFMVhkM1kzUzA5Wk1WcDBMMUZJWTNaUGFYSlRkVlExVmpObVZYUkdkbGRFYzJoVldWQTVlQXBGVTI1NFFqSnpTRkJKVkZnNU1pdENVbkUzV1ZGM2VGZHJVRU1yU2s1NlpVNVpkMmxtYkVoeFlWTnBjV3ROVjBwMFUyMTJVVkpFTUhKd1pXNVFOWFpWQ25nNWNESjFiVkJyVm5kdWVHeE9TM05WVFVOamRFSTBaMGRtTUhaUWNUSjZWVXAxVTFOdVJVTm5XVUppZWpkc2JHbFpXQ3NyVUVGNVV6RkxMMmx6TjJrS1pHczBkMGRJWkZnd2NISlpaR2RyT0ZSellXMVNSRFZCTmtsTmFHRnRRbTVuYXpKUVZtdGtOa1UxT1dkV1pYZGpaV1ZFYXpaNU9EaERURk0xYUdod1JncFVaMVZWWlhSMVprMUhaRTlOYlU4clN6RmxNV1o2VDJoSFVrNUlSeko1WW1ZMlUyazJOalZUWnpGR2QxRlFTRUUzU1Zkc1NqTjRTakJtV1ZGQ056SlVDalZYYzBGSE0wTkllbkp2YTNaRFVGTjVlamRYT0ZGTFFtZFJRMGw1Tmxac04zQTJlRUYxZW05RVJHTjVhR3czU3paTmJVWmlVRGt5YjBKWlJIZENTRzRLU0RRclJGRmpablpEU21WTWJITkZXVXBuVDNrelFXWllWMmMwUzI5R2MzSlRlVUV5VG5SUWFXWkxTWFJEZEdjMldsZElabGhuZVVGaVJFazRNRlJxV2dwSVRXTXpSeXRsY21ScFZuWkdXVXBKWW5sbVkyeHdiakZPWTNaeFVFSTVNRmd3VG14VGMxUkZTMlJhVEhrcldWTlpVemxKYnpacGNFNVhZMnBoZGtrMENtVXZVMUl3VVV0Q1oxRkRRWFkxVlRBMldVb3hUazEyS3paVlkzQkVZVGhhVURjdlVubE5ZblZKWTB4S1pWZDRRVkV6VG05TE1saFZPWFpWVkVRdk5ta0thWFpKYVVrd2IwZFVjRmtySzJ0WWIxSndiMU0yUm1OQmRIZEdOSEJFZWxCSWIwRlBiMjlwVFZaaE5uUTBaVTgxWjJrdlpqUkJkVlZyWldoSlJWQkthQW94TlRaNVJHZFlObVJhT0U0eFJFUk9SR3AwVFd0b2JIZDRTbEprY2pSNFMyaE9SbGNyT1dKdlRsaEdXVTV3VjFJM2NFaGtVbmM5UFFvdExTMHRMVVZPUkNCU1UwRWdVRkpKVmtGVVJTQkxSVmt0TFMwdExRbz0K",
    "status": "CREATING",
    "status_reason": "Bastion is ready",
    "node_groups": [
      {
        "id": 4501,
        "name": "default",
        "role": "worker",
        "flavor": {
          "id": 4501,
          "name": "n1-cpu-small",
          "cpu": 4,
          "ram": 4,
          "disk": 100
        },
        "count": 1,
        "min_count": 1,
        "max_count": 1,
        "created_at": "2026-05-07T09:21:55Z",
        "updated_at": "2026-05-07T09:21:55Z"
      }
    ],
    "master_flavor": {
      "id": 4501,
      "name": "n1-cpu-small",
      "cpu": 4,
      "ram": 4,
      "disk": 100
    },
    "nodes": [
      {
        "id": 3287,
        "role": "bastion",
        "instance": {
          "id": 7613,
          "name": "example-c1-bastion-0",
          "status": "CREATING",
          "fixed_ip": "192.0.2.42",
          "floating_ip": "192.0.2.91",
          "floating_ip_status": "ATTACHING",
          "image_id": 7613
        },
        "status": "CREATING",
        "status_reason": "VM is creating",
        "is_bastion": true,
        "requires_public_ip": true,
        "created_at": "2026-05-06T16:04:09Z",
        "updated_at": "2026-05-06T16:04:09Z"
      }
    ],
    "keypair_name": "example-keypair",
    "is_reconciling": true,
    "created_at": "2026-05-06T16:04:09Z"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.