Create an SKS cluster

Add MCP server to your AI tool

Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

https://openapi-v2.exoscale.com/mcp

Standard setup for AI tools providing an mcp.json file

mcp.json
{
  "Exoscale APIv2 MCP server": {
    "url": "https://openapi-v2.exoscale.com/mcp"
  }
}

Close
POST /sks-cluster
application/json

Body Required

  • description string | null

    Cluster description

    Maximum length is 255.

  • labels object

    Cluster Labels

    Hide labels attribute Show labels attribute object
    • * string Additional properties
  • cni string

    Cluster CNI

    Values are calico or cilium.

  • auto-upgrade boolean

    Enable auto upgrade of the control plane to the latest patch version available

  • networking object

    Cluster networking configuration

    Hide networking attributes Show networking attributes object
    • cluster-cidr string

      CIDR Range for Pods in cluster. This must not overlap with any IP ranges assigned to pods. Max of two, comma-separated, dual-stack CIDRs is allowed. If not specified, defaults to 192.168.0.0/16.

    • service-cluster-ip-range string

      CIDR range for service cluster IPs. This must not overlap with any IP ranges assigned to nodes or pods. Max of two, comma-separated, dual-stack CIDRs is allowed. The IPv6 range must be no larger than a /108 (upstream Kubernetes apiserver limit). If not specified, defaults to 10.96.0.0/12.

    • node-cidr-mask-size-ipv4 integer(int64)

      Mask size for node cidr in cluster. It must be larger than, and at most 16 bits longer than, the Pod CIDR subnet mask. Defaults to 24

      Minimum value is 0.

    • node-cidr-mask-size-ipv6 integer(int64)

      Mask size for node cidr in cluster. It must be larger than, and at most 16 bits longer than, the Pod CIDR subnet mask. Defaults to 64

      Minimum value is 0.

  • oidc object

    Cluster OpenID configmap

    Hide oidc attributes Show oidc attributes object
    • client-id string Required

      OpenID client ID

      Minimum length is 1, maximum length is 255.

    • issuer-url string Required

      OpenID provider URL

      Minimum length is 1, maximum length is 255.

    • username-claim string

      JWT claim to use as the user name

      Minimum length is 1, maximum length is 255.

    • username-prefix string

      Prefix prepended to username claims

      Minimum length is 1, maximum length is 255.

    • groups-claim string

      JWT claim to use as the user's group

      Minimum length is 1, maximum length is 255.

    • groups-prefix string

      Prefix prepended to group claims

      Minimum length is 1, maximum length is 255.

    • required-claim object

      A key value map that describes a required claim in the ID Token

      Hide required-claim attribute Show required-claim attribute object
      • * string Additional properties
  • name string Required

    Cluster name

    Minimum length is 1, maximum length is 255.

  • create-default-security-group boolean | null

    Creates an ad-hoc security group based on the choice of the selected CNI

  • enable-kube-proxy boolean

    Indicates whether to deploy the Kubernetes network proxy. When unspecified, defaults to true unless Cilium CNI is selected

  • level string Required

    Cluster service level

    Values are starter or pro.

  • feature-gates array[string]

    A list of Kubernetes-only Alpha features to enable for API server component

  • addons array[string]

    Cluster addons

    Values are exoscale-cloud-controller, exoscale-container-storage-interface, metrics-server, or karpenter.

  • audit object

    Kubernetes Audit Log Configuration

    Hide audit attributes Show audit attributes object
    • endpoint string Required

      Target Webserver URL

      Minimum length is 1, maximum length is 2000.

    • bearer-token string Required

      Bearer token

      Minimum length is 1, maximum length is 2000.

    • initial-backoff string

      Initial backoff (default '10s')

      Minimum length is 1, maximum length is 10.

  • version string Required

    Control plane Kubernetes version

Responses

  • 200 application/json

    200

    Hide response attributes Show response attributes object
    • id string(uuid)

      Operation ID

    • reason string

      Operation failure reason

      Values are incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, or conflict.

    • reference object

      Related resource reference

      Hide reference attributes Show reference attributes object
      • id string(uuid)

        Reference ID

      • command string

        Command name

    • message string

      Operation message

    • state string

      Operation status

      Values are failure, pending, success, or timeout.

POST /sks-cluster
curl \
 --request POST 'https://api-ch-gva-2.exoscale.com/v2/sks-cluster' \
 --header "Content-Type: application/json" \
 --data '{"description":"string","labels":{"additionalProperty1":"string","additionalProperty2":"string"},"cni":"calico","auto-upgrade":true,"networking":{"cluster-cidr":"string","service-cluster-ip-range":"string","node-cidr-mask-size-ipv4":42,"node-cidr-mask-size-ipv6":42},"oidc":{"client-id":"string","issuer-url":"string","username-claim":"string","username-prefix":"string","groups-claim":"string","groups-prefix":"string","required-claim":{"additionalProperty1":"string","additionalProperty2":"string"}},"name":"string","create-default-security-group":true,"enable-kube-proxy":true,"level":"starter","feature-gates":["string"],"addons":["exoscale-cloud-controller"],"audit":{"endpoint":"string","bearer-token":"string","initial-backoff":"string"},"version":"string"}'
Request examples
{
  "description": "string",
  "labels": {
    "additionalProperty1": "string",
    "additionalProperty2": "string"
  },
  "cni": "calico",
  "auto-upgrade": true,
  "networking": {
    "cluster-cidr": "string",
    "service-cluster-ip-range": "string",
    "node-cidr-mask-size-ipv4": 42,
    "node-cidr-mask-size-ipv6": 42
  },
  "oidc": {
    "client-id": "string",
    "issuer-url": "string",
    "username-claim": "string",
    "username-prefix": "string",
    "groups-claim": "string",
    "groups-prefix": "string",
    "required-claim": {
      "additionalProperty1": "string",
      "additionalProperty2": "string"
    }
  },
  "name": "string",
  "create-default-security-group": true,
  "enable-kube-proxy": true,
  "level": "starter",
  "feature-gates": [
    "string"
  ],
  "addons": [
    "exoscale-cloud-controller"
  ],
  "audit": {
    "endpoint": "string",
    "bearer-token": "string",
    "initial-backoff": "string"
  },
  "version": "string"
}
Response examples (200)
{
  "id": "string",
  "reason": "incorrect",
  "reference": {
    "id": "string",
    "link": "string",
    "command": "string"
  },
  "message": "string",
  "state": "failure"
}