How to manage Kubernetes Kapsule node pools
This documentation provides step-by-step instructions on how to manage Kubernetes Kapsule node pools using the Scaleway console.
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
- Created a Kubernetes Kapsule cluster
How to create a new Kubernetes Kapsule node pool
- Navigate to Kubernetes under the Containers section of the Scaleway console side menu. The Kubernetes dashboard displays.
- Click the Kapsule cluster name you want to manage. The cluster information page displays.
- Click the Pools & Nodes tab to display the pool configuration of the cluster.
- Click Add pool to launch the pool creation wizard.
- Configure the pool:
- Choose the Availability Zone for the pool.
- Choose the commercial type of Instance (node type) for the pool.
- Configure the system volume.
- Configure pool options. Configuration options include:
- Operations tab: Configure node count and choose whether to enable autoscaling and autoheal.
- Network tab: Enable full isolation, if required.
- Scheduling tab: Configure startup taints and/or taints, and add node labels, if required.
- Placement tab: Link to a security group or a placement group.
- Enter the pool's name and optional tags.
- To add more pools, click Add pool and repeat the steps above.
- Click Review once you have configured the desired pools. A summary of your configuration displays.
- Verify your configuration and click Submit to add the pool(s) to your Kapsule cluster.
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.
- On the page of the pool that you wish to configure, click the Scheduling tab.
- Select the Startup taints or the Taints checkbox, depending on what you wish to configure. The Key, Value, and Effect fields display.
- 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.
- 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).
- On the page of the pool that you wish to configure, go to section Scheduling tab > Node labels.
- Specify a Key and a Value.
- 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.
How to edit an existing Kubernetes Kapsule node pool
- Navigate to Kubernetes under the Containers section of the Scaleway console side menu. The Kubernetes dashboard displays.
- Click the Kapsule cluster name you want to manage. The cluster information page displays.
- Click the Pools & Nodes tab to display the pool configuration of the cluster.
- Click more icon > Edit next to the node pool you want to edit.
- Configure the pool:
- Operations tab:
- Configure autoscaling
- Enable or disable the autoheal feature
- Scheduling tab:
- Update startup taints and taints
- Update node labels
- Update pool tags
- Operations tab:
- Click Update pool to update the pool configuration.
How to migrate existing workloads to a new Kubernetes Kapsule node pool
- Create the new node pool with the desired configuration either from the console or by using the Scaleway CLI tool
scw. - Run
kubectl get nodesto check that the new nodes are in aReadystate. - Cordon the nodes in the old node pool to prevent new Pods from being scheduled there. For each node, run:
kubectl cordon <node-name> - Drain the nodes to evict the Pods gracefully.
- For each node, run:
kubectl drain <node-name> --ignore-daemonsets --delete-emptydir-data - The
--ignore-daemonsetsflag is used because daemon sets manage Pods across all nodes and will automatically reschedule them. - The
--delete-emptydir-dataflag is necessary if your Pods use emptyDir volumes, but use this option carefully as it will delete the data stored in these volumes. - Refer to the official Kubernetes documentation for further information.
- For each node, run:
- Run
kubectl get pods -o wideafter draining, to verify that the Pods have been rescheduled to the new node pool. - Delete the old node pool once you confirm that all workloads are running smoothly on the new node pool.
How to delete an existing Kubernetes Kapsule node pool
- Navigate to Kubernetes under the Containers section of the Scaleway console side menu. The Kubernetes dashboard displays.
- Click the Kapsule cluster name you want to manage. The cluster information page displays.
- Click the Pools & Nodes tab to display the pool configuration of the cluster.
- Click more icon > Delete next to the node pool you want to delete.
- Click Delete pool in the pop-up to confirm deletion of the pool.
See Also
Still need help?Create a support ticket