Skip to content

Commit 015d351

Browse files
committed
feat(k8s): update doc to make it generic
1 parent 18880d1 commit 015d351

File tree

3 files changed

+111
-101
lines changed

3 files changed

+111
-101
lines changed

menu/navigation.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1919,10 +1919,6 @@
19191919
"label": "Use the scratch storage on H100 GPU Instances with Kapsule",
19201920
"slug": "use-scratch-storage-h100"
19211921
},
1922-
{
1923-
"label": "Migrate existing ENT1 pools to POP2 Instances",
1924-
"slug": "migrate-ent1-pools-to-pop2"
1925-
},
19261922
{
19271923
"label": "Deploy x86 and ARM images in Kubernetes",
19281924
"slug": "deploy-x86-arm-images"
@@ -2050,6 +2046,10 @@
20502046
{
20512047
"label": "Wildcard DNS routing",
20522048
"slug": "wildcard-dns"
2049+
},
2050+
{
2051+
"label": "Migrate end-of-life pools to newer Instances",
2052+
"slug": "migrate-end-of-life-pools-to-newer-instances"
20532053
}
20542054
],
20552055
"label": "Additional Content",
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
---
2+
meta:
3+
title: Migrating pools of End-of-Life Instances to newer Instances in your Kubernetes Kapsule cluster
4+
description: A step-by-step guide to transitioning from deprecated Instance types to newer ones in Scaleway's Kubernetes Kapsule clusters, ensuring minimal disruption and optimal performance.
5+
content:
6+
h1: Migrating End-of-Life instance pools in your Kubernetes Kapsule cluster
7+
paragraph: A step-by-step guide to transitioning from deprecated Instance types to more recent ones in Scaleway's Kubernetes Kapsule clusters, ensuring minimal disruption and optimal performance.
8+
tags: kubernetes kapsule instance-migration
9+
dates:
10+
validation: 2025-01-24
11+
posted: 2025-01-24
12+
categories:
13+
- containers
14+
---
15+
16+
Scaleway is deprecating support for certain Instance types that have reached their End of Life (EOL).
17+
This guide outlines the recommended steps to migrate your Kubernetes Kapsule cluster node pools from deprecated Instance types to currently supported ones.
18+
19+
<Macro id="requirements" />
20+
21+
* A Scaleway account logged into the [Scaleway console](https://console.scaleway.com)
22+
* [Owner](/iam/concepts/#owner) status or [IAM permissions](/iam/concepts/#permission) allowing actions in the intended Organization
23+
* [Created](/kubernetes/how-to/create-cluster) a Kubernetes Kapsule or Kosmos cluster
24+
25+
26+
## Identifying deprecated Instance pools
27+
28+
1. Log in to the [Scaleway Console](https://console.scaleway.com).
29+
2. Navigate to **Kubernetes** under the **Containers** section in the side menu of the console.
30+
3. From the drop-down menu, select the geographical region you want to manage.
31+
4. Select the cluster containing the node pools using deprecated Instances.
32+
5. In the **Pools** tab, check the **Instance type** column for any pools using deprecated or soon-to-be-removed types.
33+
34+
35+
## Creating replacement pools with supported Instance types
36+
37+
1. For each ENT1 pool identified:
38+
- Click **+ Create pool** (or **Add pool**).
39+
- Choose a supported Instance type from the **Node Type** dropdown menu.
40+
- Configure the pool settings (e.g., Availability Zone, size, autoscaling, autoheal) to mirror the existing pool configuration as closely as possible.
41+
- Click **Create** (or **Add pool**) to initiate the new pool.
42+
43+
44+
2. Monitor the status of the new nodes until they reach **Ready** state:
45+
- In the **Pools** tab of the console.
46+
- Alternatively, use `kubectl` with the command:
47+
```bash
48+
kubectl get nodes
49+
```
50+
51+
<Message type="tip">
52+
Schedule this migration during a maintenance window or low-traffic period to minimize service disruption.
53+
</Message>
54+
55+
56+
## Migrating workloads to the new pool
57+
58+
1. [**Cordon**](https://kubernetes.io/docs/reference/kubectl/generated/kubectl_cordon/) the deprecated nodes to prevent them from receiving new pods:
59+
```bash
60+
kubectl cordon <deprecated-node-name>
61+
```
62+
63+
2. **Drain** the deprecated nodes to reschedule workloads onto the new nodes:
64+
65+
```bash
66+
kubectl drain <deprecated-node-name> --ignore-daemonsets --delete-emptydir-data
67+
```
68+
69+
<Message type="note">
70+
The flags `--ignore-daemonsets` and `--delete-emptydir-data` may be necessary depending on your environment. Refer to the official [Kubernetes documentation](https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#drain) for detailed information on these options.
71+
</Message>
72+
73+
These commands ensure that your workloads are running on the new nodes before proceeding to delete the old pool.
74+
75+
76+
## Removing deprecated Instance pools
77+
78+
After verifying that workloads have been rescheduled continue by deleting the old pool(s).
79+
80+
1. Return to your cluster’s **Pools** tab and wait a few minutes to ensure all workloads have been rescheduled onto new nodes.
81+
2. Click <Icon name="more" /> next to the deprecated pool.
82+
3. Select **Delete pool**.
83+
4. Confirm the deletion.
84+
85+
86+
## Verifying migration success
87+
88+
1. Check your nodes:
89+
90+
```bash
91+
kubectl get nodes
92+
```
93+
94+
<Message type="note">
95+
Only nodes based on supported Instance types should now be listed.
96+
</Message>
97+
98+
2. Test your applications to confirm they are functioning correctly on the new nodes.
99+
100+
101+
<Message type="tip">
102+
Minimize downtime by maintaining multiple replicas of key workloads and setting up [Pod Disruption Budgets (PDBs)](https://kubernetes.io/docs/tasks/run-application/configure-pdb/).
103+
</Message>
104+
105+
<Message type="note">
106+
If you require assistance during the transitioning process, please [contact our Support team](https://console.scaleway.com/support/tickets).
107+
</Message>

pages/kubernetes/how-to/migrate-ent1-pools-to-pop2.mdx

Lines changed: 0 additions & 97 deletions
This file was deleted.

0 commit comments

Comments
 (0)