Kubernetes clusters

Create Kubernetes cluster

Creates a Managed Kubernetes cluster. Kubernetes Service provides the ability to deploy and manage Kubernetes clusters without worrying about the setup and maintenance of master nodes. emma manages the Kubernetes control plane, so you can focus on deploying and managing your applications. You do not need to create master nodes.

We offer reliable and highly available infrastructure for your cluster across multiple cloud providers. For Direct Connect, clusters can be deployed on AWS, Azure, and GCP. For Internet Connect, clusters can be deployed on AWS, Azure, and GCP by default. DigitalOcean and Gcore are also available for Internet Connect on request.

By default, clusters can be deployed only in the European region. Deployment in the US region is available on request.

Choose the network type: Direct Connect or Internet Connect. Direct Connect requires this option to be enabled in the Network section. Internet Connect does not require any additional actions.

When creating worker nodes, you need to select the appropriate hardware configuration. The available configuration depends on the provider and the data center. Use the /v1/kubernetes-configs endpoint to find available worker node configurations.

If workerNodes is not provided, at least one autoscaling group must have minimumNodes >= 1.

A cluster currently supports up to 5 autoscaling groups and a total of 16 worker nodes.

post/v1/kubernetes

Request

  • Base URL
    https://api.emma.ms/external
  • Auth
    HTTP bearer

Request body

deploymentLocation'eu' | 'us' required

Deployment location

k8sVersionstring

Kubernetes version

projectNamestring

Project name

namestring required

Kubernetes cluster name

k8sConnectionType'direct_connect' | 'internet_connect' required

Kubernetes connection type

Example request

{
  "deploymentLocation": "eu",
  "k8sVersion": "1.35",
  "projectName": "automation-project",
  "name": "default-k8s-managed-cluster-name",
  "k8sConnectionType": "internet_connect",
  "workerNodes": [
    {
      "name": "vm-automation-co2ep",
      "providerId": 75,
      "locationId": 78,
      "dataCenterId": "gcp-europe-west4-a",
      "osId": 48,
      "osType": "Ubuntu",
      "osVersion": "24.04",
      "cloudNetworkTypes": [
        "default"
      ],
      "vCpuType": "standard",
      "vCpu": 4,
      "ramGb": 16,
      "volumeGb": 32,
      "volumeType": "ssd",
      "acceleratorTypeId": "7bf9d828-e3e8-496f-9901-9045640bb287",
      "accelerators": 1,
      "instanceType": "on_demand"
    }
  ],
  "autoscalingConfigs": [
    {
      "groupName": "autoscalenodegroup-j6bj",
      "dataCenterId": "aws-eu-west-1",
      "minimumNodes": 1,
      "maximumNodes": 5,
      "targetNodes": 1,
      "useOnDemandInstancesInsteadOfSpots": false,
      "spotPercent": 50,
      "spotMarkup": 5,
      "userLabels": [
        {
          "key": "workload",
          "value": "batch"
        }
      ],
      "configurationPriorities": [
        {
          "ramGb": 4,
          "volumeGb": 16,
          "volumeType": "ssd",
          "priority": "high",
          "vCpuType": "shared",
          "vCpu": 2
        }
      ]
    }
  ]
}

Response

Successful operation

idinteger

ID of the Kubernetes cluster

createdAtstring

Date and time of the Kubernetes cluster creation

createdByNamestring

Name of the user who created the Kubernetes cluster

createdByIdinteger

ID of the user who created the Kubernetes cluster

modifiedAtstring

Date and time when the Kubernetes cluster was last edited

modifiedByNamestring

Name of the user who last edited the Kubernetes cluster

modifiedByIdinteger

ID of the user who last edited the Kubernetes cluster

namestring

Name of the Kubernetes cluster

versionstring

Version of the Kubernetes cluster

deploymentLocation'eu' | 'us'

Deployment region of the Kubernetes cluster. Currently, only Europe (eu) is available.

k8sConnectionType'direct_connect' | 'internet_connect'

Specifies the network connectivity type for the cluster. Immutable: set at creation only. To change, delete and create a new cluster.

statusstring

Status of the Kubernetes cluster

controlPlaneStatus'CREATING' | 'ACTIVE' | 'UPDATING' | 'DEGRADED' | 'UNHEALTHY' | 'FAILED' | 'DESTRUCTION'

Control Plane Status. The Control Plane status provides information about the health and functionality of various components that are part of the Control Plane.

domainNamestring nullable

Domain attached to the Kubernetes cluster

Example response

{
  "id": 108301,
  "createdAt": "2026-03-13T16:14:01.833",
  "createdById": 2427,
  "createdByName": "Automation User",
  "modifiedAt": "2026-03-13T16:14:01.833",
  "modifiedByName": "Automation User",
  "modifiedById": 2427,
  "name": "default-k8s-managed-cluster-name",
  "version": "1.35",
  "deploymentLocation": "eu",
  "k8sConnectionType": "internet_connect",
  "domainName": null,
  "status": "ENV_DEPLOYMENT",
  "controlPlaneStatus": "CREATING",
  "cost": {
    "unit": "MONTHS",
    "currency": "EUR",
    "price": 472.576455288452
  },
  "nodeGroups": [
    {
      "name": "Nodes",
      "nodes": [
        {
          "id": 108302,
          "createdAt": "2026-03-13T16:14:01.882",
          "name": "hrvwax-dfdotq-vm-automation-co2ep",
          "status": "DRAFT",
          "instanceType": "on_demand",
          "nodeStatus": "ACTIVE",
          "provider": {
            "id": 78,
            "name": "GCP"
          },
          "location": {
            "id": 78,
            "name": "Eemshaven",
            "country": "Netherlands",
            "continent": "Europe",
            "region": "EMEA",
            "latitude": 53.442333,
            "longitude": 6.8253303
          },
          "dataCenter": {
            "id": "gcp-europe-west4-a",
            "name": "europe-west4-a",
            "providerName": "GCP",
            "providerId": 78,
            "locationId": 78,
            "locationName": "Eemshaven"
          },
          "os": {
            "id": 48,
            "family": "Linux",
            "type": "Ubuntu",
            "architecture": "x86-64",
            "version": "24.04"
          },
          "cloudNetworkType": "default",
          "vCpuType": "standard",
          "vCpu": 4,
          "ramGb": 16,
          "disks": [
            {
              "id": 108303,
              "name": "volume-ax8keo",
              "sizeGb": 32,
              "typeId": 2,
              "type": "ssd",
              "isBootable": true
            }
          ],
          "networks": null,
          "cost": {
            "unit": "MONTHS",
            "currency": "EUR",
            "price": 472.576455
          },
          "securityGroup": null,
          "accelerator": {
            "acceleratorTypeId": "7bf9d828-e3e8-496f-9901-9045640bb287",
            "acceleratorType": "NVIDIA L4",
            "accelerators": 1,
            "totalGpuMemoryGb": 24
          },
          "localDisks": null
        }
      ],
      "status": "ACTIVE",
      "scalingPolicy": "SCALE_UP_ONLY"
    }
  ],
  "autoscalingConfigs": [
    {
      "groupName": "autoscalenodegroup-j6bj",
      "dataCenterId": "aws-eu-west-1",
      "minimumNodes": 1,
      "maximumNodes": 5,
      "targetNodes": 1,
      "minimumVCpus": null,
      "maximumVCpus": null,
      "targetVCpus": null,
      "nodeGroupPriceLimit": 50,
      "useOnDemandInstancesInsteadOfSpots": false,
      "spotPercent": 50,
      "spotMarkup": 5,
      "userLabels": [
        {
          "key": "workload",
          "value": "batch"
        }
      ],
      "configurationPriorities": [
        {
          "vCpuType": "shared",
          "vCpu": 2,
          "ramGb": 4,
          "volumeGb": 16,
          "volumeType": "ssd",
          "priority": "high"
        }
      ],
      "limitsNotice": null
    }
  ]
}

Changes

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