Skip to navigationSkip to main contentSkip to footerScaleway Docs HomepageAsk our AI
Ask our AI

How to create a Kubernetes Kosmos cluster

Kubernetes Kosmos provides an alternative to a classic Kubernetes Kapsule. With Kubernetes Kosmos, you can create a Kubernetes cluster comprising both managed Scaleway Instances (with autohealing and autoscaling) and external instances and servers from any other cloud provider. Scaleway ensures the high availability of your services globally, across different zones, regions, and providers. In addition to the Kubernetes Kapsule pricing, you are charged for the Kubernetes Kosmos control plane and an additional fee for managed external nodes.

Before you start

To complete the actions presented below, you must have:

  • A Scaleway account logged into the console
  • Owner status or IAM permissions allowing you to perform actions in the intended Organization
Important

Be aware that autoscaling and autohealing features are unavailable on external providers’ nodes within Kosmos clusters. Since Scaleway does not have access to your other providers’ accounts, it is not possible to carry out actions such as automatic deletion, creation, and reboot of external nodes.

Cluster configuration

  1. Navigate to Kubernetes under the Containers section of the Scaleway console side menu. The Kubernetes dashboard displays.
  2. From the drop-down menu, select the geographical region you want to manage.
  3. Click Create cluster to launch the cluster creation wizard.
  4. On the cluster configuration page, provide the following details:
    • Check the Organization and Project for the new cluster.
      Important

      You cannot move a cluster from one Organization or Project to another once created.

    • Select Kubernetes Kosmos as the cluster type.
    • Verify the geographical region for the cluster.
    • Select the control plane offer for your cluster. Options include shared or dedicated control planes.
      Tip

      Need help deciding on a control plane offer? Learn more about our Kubernetes control plane offers.

    • Specify the Kubernetes version for your cluster.
  5. Provide a name for the cluster. Optionally, you can add a description and tags for better organization.
  6. If you want to add pools, click Configure pools (optional) to proceed. If you do not wish to add any pools, click Review.

Pool configuration

This section outlines the settings for your cluster pools. You can configure as many pools for your cluster as you require.

  1. Choose the pool type. Available types are Scaleway or Multi-cloud.
  2. Specify the following for each pool:
    • For Scaleway pools:
      • Choose the Availability Zone for the pool's nodes.
      • Select the node type for the pool.
      • Configure the system volume. This volume contains the operating system of the nodes in your pool.
      • Configure pool options or retain default settings. Configuration options include:
      • Enter the pool's name and optional tags.
    • For Multi-cloud pools:
      • Specify the external nodes to be added to the pool.
        Important

        Note that autoscaling and autohealing are not available for multi-cloud pools.

      • Enter the pool's name and optional tags.
      • Add node labels, if required.
  3. To add more pools, click Add pool and repeat the steps above.
    Tip

    You can add or remove pools as needed before finalizing your cluster configuration. To remove a pool, click the delete icon Delete icon next to the respective pool.

  4. Once all pools are configured, click Review.

How to configure startup taints or taints

The startup taints and taints you configure for your pool are automatically applied to any new node created within the pool.

  1. On the page of the pool that you wish to configure, click the Scheduling tab.
  2. Select the Startup taints or the Taints checkbox, depending on what you wish to configure.
  3. Specify a key-value pair and an effect:
    • Key: Acts as the identifier of the taint.
    • Value: An optional string that further qualifies the taint. It allows you to distinguish between multiple taints that share the same key but represent different situations.
    • Effect: Specifies what happens to Pods that do not tolerate the taint:
      • NoSchedule: Pods that do not have a matching toleration are prevented from being scheduled on the node. Pods already running are left untouched.
      • PreferNoSchedule: The scheduler tries to avoid placing non‑tolerating Pods on the node, but it may still do so if no other suitable node exists.
      • NoExecute: Pods without a matching toleration are evicted from the node immediately, and new Pods that lack the toleration are blocked from being scheduled.
  4. Click the + Add startup taint or + Add taint button to add further startup taints or taints, respectively.

How to configure node labels

By attaching node labels to a pool, you can:

  • Require Pods to run only on nodes that match the label(s), or
  • Prefer Pods to run on nodes that match the label(s).
  1. On the page of the pool that you wish to configure, go to section Scheduling tab > Node labels.
  2. Specify a Key and a Value.
  3. Click the + Add node label button to add further node labels.

To implement the scheduling constraints related to the node labels you have just attached to your pool, remember to specify one or more corresponding node selection mechanisms in your Pod specification:

  • nodeSelector: The scheduler places the Pod only on nodes that contain all specified labels.
  • nodeAffinity: It lets you define how strict label‑based rules are:
    • requiredDuringSchedulingIgnoredDuringExecution: The Pod cannot be scheduled unless the node satisfies the rule.
    • preferredDuringSchedulingIgnoredDuringExecution: The scheduler tries to place the Pod on a matching node, but will fall back to any node if none match.

Review configuration

  1. Review the configuration details of your Kubernetes cluster and its pools (if any).
    Tip

    To modify any element, click the edit icon Edit icon next to the respective configuration component.

  2. Click Submit to deploy your cluster. Once deployment is complete, the cluster appears in the clusters list.
Still need help?

Create a support ticket
No Results