From 5359262da4ef4cc12e16003c3d79aef848ccb1ff Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Thu, 18 Jan 2024 11:31:51 +0100 Subject: [PATCH 1/7] feat(k8s): kubernetes node images --- .../kubernetes-node-images.mdx | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 containers/kubernetes/reference-content/kubernetes-node-images.mdx diff --git a/containers/kubernetes/reference-content/kubernetes-node-images.mdx b/containers/kubernetes/reference-content/kubernetes-node-images.mdx new file mode 100644 index 0000000000..d968278c1b --- /dev/null +++ b/containers/kubernetes/reference-content/kubernetes-node-images.mdx @@ -0,0 +1,26 @@ +--- +meta: + title: Kubernetes node images + description: This page provides information about Kubernetes node images for your Kubernetes cluster +content: + h1: Kubernetes node images + paragraph: This page provides information about Kubernetes node images for your Kubernetes cluster +tags: kubernetes load-balancer loadbalancer service annotations ip expose +dates: + validation: 2024-01-18 + posted: 2024-01-18 +categories: + - kubernetes +--- + +Kubernetes node images refer to the containerized operating system and runtime environment that run on each node within a Kubernetes cluster. +These images encapsulate the essential components necessary for hosting and managing containers, such as the container runtime (e.g. `containerd`), the kubelet (Kubernetes agent), and other dependencies. + +In Kubernetes, a node is a physical or virtual machine inside a cluster, that serves for deploying and running containerized workloads. +A Kubernetes cluster consists of a main node (control plane) and multiple worker nodes. These worker nodes are where the actual containers run. + +## What does Scaleway's node images contain? + +Scaleway Kubernetes node images are customized Ubuntu Linux-based OS images, specifically built for Scaleway's Kubernetes infrastructure. +These images include `containerd`, a high-performance container runtime, and Scaleway's Kubernetes Kapsule agent, facilitating communication between the Kubernetes control plane and the underlying infrastructure. + From 6dda6fc6a85556144ce028566c2366660afafd8e Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Thu, 18 Jan 2024 12:09:14 +0100 Subject: [PATCH 2/7] feat(k8s): node images --- .../how-to/access-kubernetes-dashboard.mdx | 4 +-- .../how-to/upgrade-cluster-node-image.mdx | 33 +++++++++++++++++++ .../kubernetes-node-images.mdx | 25 ++++++++++++++ menu/navigation.json | 8 +++++ 4 files changed, 67 insertions(+), 3 deletions(-) create mode 100644 containers/kubernetes/how-to/upgrade-cluster-node-image.mdx diff --git a/containers/kubernetes/how-to/access-kubernetes-dashboard.mdx b/containers/kubernetes/how-to/access-kubernetes-dashboard.mdx index 5573a7b965..e5c187aa32 100644 --- a/containers/kubernetes/how-to/access-kubernetes-dashboard.mdx +++ b/containers/kubernetes/how-to/access-kubernetes-dashboard.mdx @@ -24,6 +24,4 @@ categories: 1. Click **Kubernetes** in the **Containers** section of the [Scaleway console](https://console.scaleway.com) side menu. The Kubernetes Kapsule overview displays. 2. Click the name of the cluster you want to access. The cluster overview page displays. This page provides several pieces of information about your cluster: 3. Click **Dashboard**. You are taken to your cluster's Kubernetes dashboard. - Here, you can troubleshoot your containerized application, manage the cluster resources, get an overview of applications running on your cluster, and create or modify certain resources. - - + Here, you can troubleshoot your containerized application, manage the cluster resources, get an overview of applications running on your cluster, and create or modify certain resources. \ No newline at end of file diff --git a/containers/kubernetes/how-to/upgrade-cluster-node-image.mdx b/containers/kubernetes/how-to/upgrade-cluster-node-image.mdx new file mode 100644 index 0000000000..8ec54251b4 --- /dev/null +++ b/containers/kubernetes/how-to/upgrade-cluster-node-image.mdx @@ -0,0 +1,33 @@ +--- +meta: + title: How to upgrade your cluster node images + description: This page explains how to upgrade your node images. +content: + h1: How to upgrade your cluster node images + paragraph: This page explains how to upgrade your node images. +tags: kubernetes kubernetes-kapsule kapsule node image upgrade +dates: + validation: 2024-01-18 + posted: 2024-01-18 +categories: + - kubernetes +--- + +Kubernetes Kapsule clusters regularly receive updated [node images](/containers/kubernetes/reference-content/kubernetes-node-images/), and it is recommended to regularly upgrade these images to leverage the latest features. + +This guide provides instructions on how to upgrade node images in your Kubernetes Kapsule cluster and how to update node pool images without changing the Kubernetes version. + + + If you are interested in upgrading the Kubernetes version of your cluster, refer to the documentation on [Upgrading a Kubernetes Cluster](/containers/kubernetes/how-to/upgrade-kubernets-version/). + + + + - You have an account and are logged into the [Scaleway console](https://console.scaleway.com) + - You have [created](/containers/kubernetes/how-to/create-cluster) a Kubernetes Kapsule cluster + + + + + How to access the dashboard of a Kubernetes Kapsule cluster + How to upgrade the Kubernetes version on a Kapsule cluster + \ No newline at end of file diff --git a/containers/kubernetes/reference-content/kubernetes-node-images.mdx b/containers/kubernetes/reference-content/kubernetes-node-images.mdx index d968278c1b..2a97e13d51 100644 --- a/containers/kubernetes/reference-content/kubernetes-node-images.mdx +++ b/containers/kubernetes/reference-content/kubernetes-node-images.mdx @@ -24,3 +24,28 @@ A Kubernetes cluster consists of a main node (control plane) and multiple worker Scaleway Kubernetes node images are customized Ubuntu Linux-based OS images, specifically built for Scaleway's Kubernetes infrastructure. These images include `containerd`, a high-performance container runtime, and Scaleway's Kubernetes Kapsule agent, facilitating communication between the Kubernetes control plane and the underlying infrastructure. +## What are the benefits of the new node image system? + +The new node images offer advantages in cluster consistency, management ease, and security. +Our images are optimized for performance and compatibility with the Kubernetes control plane and integrate seamlessly with the Kubernetes ecosystem. + +The main benefits of using the new node images are: +- Accelerated upgrade timelines + - Uniterrupted service continuity with hot upgrades + - Increased upgrade frequency for large clusters +- Faster provisioning of new clusters +- Expanded possibilities for incorporating new features + +## With which versions of Kubernetes are the new node images compatible? + +If your Kubernetes cluster runs version <=1.29 we have implemented a hybrid roll-out strategy: + +- Any newly created node is deployed using the new image system. + - Replaced nodes transition to the new image system. + - Any new node pool is deployed using the new node image + - Nodes created through auto-scaling are deployed using the new system +- Legacy nodes maintain the rootFS system for retro compatibility + - Upgraded nodes follow the same approach, retaining the rootFS system + +If your cluster is running Kubernetes =>1.30 it will use the new compute image + - Pool upgrades bring compute images to its nodes \ No newline at end of file diff --git a/menu/navigation.json b/menu/navigation.json index 2e49ccc932..9e469ce354 100644 --- a/menu/navigation.json +++ b/menu/navigation.json @@ -1376,6 +1376,10 @@ "label": "Access the Kubernetes dashboard", "slug": "access-kubernetes-dashboard" }, + { + "label": "Upgrade your cluster node images", + "slug": "upgrade-cluster-node-image" + }, { "label": "Upgrade the Kubernetes version on a Kapsule cluster", "slug": "upgrade-kubernetes-version" @@ -1476,6 +1480,10 @@ "label": "Creating and configuring a Load Balancer service", "slug": "kubernetes-load-balancer" }, + { + "label": "Understanding Kubernetes node images", + "slug": "kubernetes-node-images" + }, { "label": "Using a Load Balancer with Ingress", "slug": "lb-ingress-controller" From 50062128e095f9755efd3dcc826b8865558ec553 Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Thu, 18 Jan 2024 14:42:20 +0100 Subject: [PATCH 3/7] feat(k8s): node images --- .../kubernetes/reference-content/kubernetes-node-images.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/containers/kubernetes/reference-content/kubernetes-node-images.mdx b/containers/kubernetes/reference-content/kubernetes-node-images.mdx index 2a97e13d51..8f929a081c 100644 --- a/containers/kubernetes/reference-content/kubernetes-node-images.mdx +++ b/containers/kubernetes/reference-content/kubernetes-node-images.mdx @@ -19,7 +19,7 @@ These images encapsulate the essential components necessary for hosting and mana In Kubernetes, a node is a physical or virtual machine inside a cluster, that serves for deploying and running containerized workloads. A Kubernetes cluster consists of a main node (control plane) and multiple worker nodes. These worker nodes are where the actual containers run. -## What does Scaleway's node images contain? +## What does Scaleways node images contain? Scaleway Kubernetes node images are customized Ubuntu Linux-based OS images, specifically built for Scaleway's Kubernetes infrastructure. These images include `containerd`, a high-performance container runtime, and Scaleway's Kubernetes Kapsule agent, facilitating communication between the Kubernetes control plane and the underlying infrastructure. @@ -38,7 +38,7 @@ The main benefits of using the new node images are: ## With which versions of Kubernetes are the new node images compatible? -If your Kubernetes cluster runs version <=1.29 we have implemented a hybrid roll-out strategy: +If your Kubernetes cluster runs version `<=1.29` we have implemented a hybrid roll-out strategy: - Any newly created node is deployed using the new image system. - Replaced nodes transition to the new image system. @@ -47,5 +47,5 @@ If your Kubernetes cluster runs version <=1.29 we have implemented a hybrid roll - Legacy nodes maintain the rootFS system for retro compatibility - Upgraded nodes follow the same approach, retaining the rootFS system -If your cluster is running Kubernetes =>1.30 it will use the new compute image +If your cluster is running Kubernetes `=>1.30` it will use the new compute image - Pool upgrades bring compute images to its nodes \ No newline at end of file From e213eeb33d9fb39a3ae5ee1065428feda49b96b6 Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Wed, 24 Jan 2024 16:49:08 +0100 Subject: [PATCH 4/7] Apply suggestions from code review Co-authored-by: Louis Portay <20128391+louisportay@users.noreply.github.com> --- .../reference-content/kubernetes-node-images.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/containers/kubernetes/reference-content/kubernetes-node-images.mdx b/containers/kubernetes/reference-content/kubernetes-node-images.mdx index 8f929a081c..826aa17b6f 100644 --- a/containers/kubernetes/reference-content/kubernetes-node-images.mdx +++ b/containers/kubernetes/reference-content/kubernetes-node-images.mdx @@ -26,14 +26,14 @@ These images include `containerd`, a high-performance container runtime, and Sca ## What are the benefits of the new node image system? -The new node images offer advantages in cluster consistency, management ease, and security. +The new node images offers advantages in cluster consistency, management ease, and security. Our images are optimized for performance and compatibility with the Kubernetes control plane and integrate seamlessly with the Kubernetes ecosystem. The main benefits of using the new node images are: - Accelerated upgrade timelines - - Uniterrupted service continuity with hot upgrades + - Uninterrupted service continuity with hot upgrades - Increased upgrade frequency for large clusters -- Faster provisioning of new clusters +- Faster provisioning of new nodes - Expanded possibilities for incorporating new features ## With which versions of Kubernetes are the new node images compatible? @@ -44,8 +44,8 @@ If your Kubernetes cluster runs version `<=1.29` we have implemented a hybrid ro - Replaced nodes transition to the new image system. - Any new node pool is deployed using the new node image - Nodes created through auto-scaling are deployed using the new system -- Legacy nodes maintain the rootFS system for retro compatibility - - Upgraded nodes follow the same approach, retaining the rootFS system +- Legacy nodes maintain the older system for retro compatibility + - Upgraded nodes follow the same approach, retaining the older system If your cluster is running Kubernetes `=>1.30` it will use the new compute image - Pool upgrades bring compute images to its nodes \ No newline at end of file From be419222348692304f72b4dee0eaef2332e7d557 Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Wed, 24 Jan 2024 16:51:44 +0100 Subject: [PATCH 5/7] Apply suggestions from code review Co-authored-by: Louis Portay <20128391+louisportay@users.noreply.github.com> --- containers/kubernetes/how-to/upgrade-kubernetes-version.mdx | 1 - 1 file changed, 1 deletion(-) diff --git a/containers/kubernetes/how-to/upgrade-kubernetes-version.mdx b/containers/kubernetes/how-to/upgrade-kubernetes-version.mdx index 94603b918a..717671ede2 100644 --- a/containers/kubernetes/how-to/upgrade-kubernetes-version.mdx +++ b/containers/kubernetes/how-to/upgrade-kubernetes-version.mdx @@ -143,4 +143,3 @@ scw k8s pool create zone=$OLD_POOL_ZONE size=$SIZE_OF_YOUR_OLD_POOL version=$NEW The process is quite similar to the previous one except you need to repeat the steps for each minor version. - From dc2c4262d74f3c467fa3f81d5cd91dc62c57de58 Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Thu, 25 Jan 2024 10:52:12 +0100 Subject: [PATCH 6/7] feat(k8s): upgrade node pools --- .../how-to/upgrade-cluster-node-image.mdx | 30 ++++++++++++++++--- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/containers/kubernetes/how-to/upgrade-cluster-node-image.mdx b/containers/kubernetes/how-to/upgrade-cluster-node-image.mdx index 8ec54251b4..b5264a5cc4 100644 --- a/containers/kubernetes/how-to/upgrade-cluster-node-image.mdx +++ b/containers/kubernetes/how-to/upgrade-cluster-node-image.mdx @@ -13,12 +13,11 @@ categories: - kubernetes --- -Kubernetes Kapsule clusters regularly receive updated [node images](/containers/kubernetes/reference-content/kubernetes-node-images/), and it is recommended to regularly upgrade these images to leverage the latest features. - -This guide provides instructions on how to upgrade node images in your Kubernetes Kapsule cluster and how to update node pool images without changing the Kubernetes version. +Kubernetes Kapsule clusters benefit from regular updates to their [node images](/containers/kubernetes/reference-content/kubernetes-node-images/). To profit of the latest features, it is important to stay up-to-date by upgrading these images. +This guide outlines the process for upgrading node images in your Kubernetes Kapsule cluster and provides instructions on updating node pool images without changing the Kubernetes version. - If you are interested in upgrading the Kubernetes version of your cluster, refer to the documentation on [Upgrading a Kubernetes Cluster](/containers/kubernetes/how-to/upgrade-kubernets-version/). + If you wish to upgrade the Kubernetes version of your cluster, refer to the documentation on [Upgrading a Kubernetes Cluster](/containers/kubernetes/how-to/upgrade-kubernets-version/). @@ -26,6 +25,29 @@ This guide provides instructions on how to upgrade node images in your Kubernete - You have [created](/containers/kubernetes/how-to/create-cluster) a Kubernetes Kapsule cluster +## Node Image Upgrade Process + +### Automatic Upgrade for Kubernetes 1.30 or later + +For Kubernetes clusters running version `>=1.30`, the new node image is applied automatically to all clusters created using this version. To upgrade the version of your node image, follow these steps: + +1. Click **Kubernetes** under **Containers** on the side menu. A list of your Kubernetes Kapsule clusters displays. +2. Click the cluster name you wish to upgrade the pool. The cluster information page displays. +3. Navigate to the cluster's configuration settings and select the option to upgrade node pools. This process will automatically apply the latest node image to your cluster. + +### Hybrid Roll-out Strategy for Kubernetes 1.29 or earlier + +For Kubernetes clusters running version `<=1.29`, a hybrid roll-out strategy is implemented. Follow these steps to upgrade node images in such clusters: + +* **Automatic deployment for new nodes:** + - Any newly created node is automatically deployed using the new image system. + - Nodes created through auto-scaling are also deployed using the new system. +* **Transition for replaced nodes:** + - Replaced nodes transition to the new image system as part of the upgrade process. +* **New node pool deployment:** + - Any new node pool is deployed using the new node image. +* **Legacy nodes maintenance:** + - Legacy nodes, including upgraded nodes, maintain the older system for retro compatibility. How to access the dashboard of a Kubernetes Kapsule cluster From f2356aee03354e9baec116f78d87de3038ccf248 Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Thu, 25 Jan 2024 10:54:08 +0100 Subject: [PATCH 7/7] feat(k8s): node images --- .../kubernetes/reference-content/kubernetes-node-images.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/containers/kubernetes/reference-content/kubernetes-node-images.mdx b/containers/kubernetes/reference-content/kubernetes-node-images.mdx index 826aa17b6f..1d6f9deef5 100644 --- a/containers/kubernetes/reference-content/kubernetes-node-images.mdx +++ b/containers/kubernetes/reference-content/kubernetes-node-images.mdx @@ -34,6 +34,7 @@ The main benefits of using the new node images are: - Uninterrupted service continuity with hot upgrades - Increased upgrade frequency for large clusters - Faster provisioning of new nodes +- No more need for cluster reboots - Expanded possibilities for incorporating new features ## With which versions of Kubernetes are the new node images compatible?