From 87c84a1581f8b71a3a802b51165e3f9f78994d72 Mon Sep 17 00:00:00 2001 From: Romain Decker Date: Thu, 14 Sep 2023 14:35:48 +0200 Subject: [PATCH 1/3] Repave clarifications --- .../clusters/cluster-management/node-pool.md | 11 +++++++++-- docs/docs-content/glossary-all.md | 2 +- docs/docs-content/troubleshooting/nodes.md | 3 +++ 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/docs/docs-content/clusters/cluster-management/node-pool.md b/docs/docs-content/clusters/cluster-management/node-pool.md index b62a57ccf4..7f2bb88edd 100644 --- a/docs/docs-content/clusters/cluster-management/node-pool.md +++ b/docs/docs-content/clusters/cluster-management/node-pool.md @@ -18,10 +18,17 @@ Ensure you exercise caution when modifying node pools. We recommend creating a [ ## Repave Behavior and Configuration -In Kubernetes, the term "repave" refers to the process of replacing a node with a new node. [Repaving](/glossary-all#repavement) is a common practice in Kubernetes to ensure that nodes are deployed with the latest version of the operating system and Kubernetes. Repaving is also used to replace nodes that are unhealthy or have failed. You can configure the repave time interval for a node pool. +In Kubernetes, the term "repave" refers to the process of replacing a node with a new node. [Repaving](/glossary-all#repavement) is a common practice in Kubernetes to ensure that nodes are deployed with the latest version of the operating system and Kubernetes. Repaving is also used to replace nodes that are unhealthy or have failed. -The ability to configure the repave time interval for all node pools except the master pool. The default repave time interval is 0 seconds. You can configure the node repave time interval during the cluster creation process or after the cluster is created. To modify the repave time interval after the cluster is created, follow the [Change a Node Pool](#changeanodepool) instructions below. +Different types of repaving operations may occur, contingent upon the actions that trigger them: +* Control plane repave: takes place when specific alterations are made to the Kubernetes configuration, such as changing the apiServer specification, or when there are changes in the hardware specifications of the master nodes (e.g., during a scale-up operation or when changing from an instance to another). Only control plane nodes are repaved, one by one. + +* Worker node pool repave: takes place when alterations to the specification of a particular node pool render the existing nodes incompatible with the pool's criteria. For instance, changing the hardware specifications of a worker pool. In this case, nodes within the affected pool are sequentially replaced with new nodes that meet the updated pool specifications. + +* Full cluster repave: occurs if any changes are made to the OS layer or if there are modifications to the Kubernetes layer that impact all nodes (e.g., upgrading to a different version of Kubernetes). In a full cluster repaving, all nodes across all pools, including the control plane, undergo repaving one by one, with control plane nodes taking precedence, followed by worker pool nodes. + +You can customize the repave time interval for all node pools, with the exception of the master pool. The default repave time interval is 0 seconds. You have the flexibility to adjust the node repave time interval either during the cluster creation or after the cluster has been created. If you need to modify the repave time interval post-cluster creation, follow the [Change a Node Pool](#changeanodepool) instructions below. ## Node Pool Configuration Settings diff --git a/docs/docs-content/glossary-all.md b/docs/docs-content/glossary-all.md index b3391a5d71..5870975926 100644 --- a/docs/docs-content/glossary-all.md +++ b/docs/docs-content/glossary-all.md @@ -158,7 +158,7 @@ Palette maintains a public pack registry containing various [packs](#pack) that ## Repavement -Repavement is the process of replacing a Kubernetes node with a new one. This is typically done when a node is unhealthy or needs to be upgraded. The process involves draining the node, or in other words, migrating active workloads to another healthy node, and removing it from the cluster. A new node is created and configured with the same settings as the old node and added back to the cluster. The process is fully automated and does not require any manual intervention. +Repavement is the process of replacing a Kubernetes node with a new one. This is typically done when a node is unhealthy or needs to be upgraded. The process involves draining the node, or in other words, migrating active workloads to another healthy node, and removing it from the [node pool](/clusters/cluster-management/node-pool/#repave-behavior-and-configuration). A new node is created and configured with the same settings as the old node and added back to the pool. The process is fully automated and does not require any manual intervention. ## Role diff --git a/docs/docs-content/troubleshooting/nodes.md b/docs/docs-content/troubleshooting/nodes.md index ceaa0f3860..2f4f3281b2 100644 --- a/docs/docs-content/troubleshooting/nodes.md +++ b/docs/docs-content/troubleshooting/nodes.md @@ -15,6 +15,7 @@ This page covers common debugging scenarios for nodes and clusters after they ha ## Scenario - Repaved Nodes Palette performs a rolling upgrade on nodes when it detects a change in the `kubeadm` config. Below are some actions that cause the `kubeadm` configuration to change and result in nodes being upgraded: + * OS layer changes * Kubernetes layer changes * Kubernetes version upgrade @@ -24,6 +25,8 @@ Palette performs a rolling upgrade on nodes when it detects a change in the `kub * Changes in instance types * Certificate renewal +Different types of repaving operations may occur, contingent upon the actions that trigger them. For detailed information, review the node pools [page](/clusters/cluster-management/node-pool/#repave-behavior-and-configuration). + Logs are provided in Palette for traceability. However, these logs may be lost when the pods are relaunched. To ensure that the cause and context is persisted across repaving, a field titled **upgrades** is available in the status section of [SpectroCluster object](https://docs.spectrocloud.com/api/v1/clusters/). This field is represented in the Palette UI so that you can understand why and when repaving happened. For detailed information, review the cluster upgrades [page](/clusters/#clusterupgradedetails). From b4c7a8f4dd8e80c50769d391364d02aac4bc7928 Mon Sep 17 00:00:00 2001 From: Romain Decker Date: Fri, 15 Sep 2023 16:58:17 +0200 Subject: [PATCH 2/3] Address feedback on repave --- docs/docs-content/clusters/cluster-management/node-pool.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/docs-content/clusters/cluster-management/node-pool.md b/docs/docs-content/clusters/cluster-management/node-pool.md index 7f2bb88edd..f1fbdffe96 100644 --- a/docs/docs-content/clusters/cluster-management/node-pool.md +++ b/docs/docs-content/clusters/cluster-management/node-pool.md @@ -7,7 +7,7 @@ sidebar_position: 190 tags: ["clusters", "cluster management"] --- -A node pool is a group of nodes within a cluster that all have the same configuration. Node pools allow you to create pools of nodes that can be used for different workloads. For example, you can create a node pool for your production workloads and another node pool for your development workloads. You can update node pools for active clusters or create a new node pool for the cluster. +A node pool is a group of nodes within a cluster that all have the same configuration. Node pools allow you to create pools of nodes that can be used for different workloads. For example, you can create a node pool for your production workloads and another node pool for your development workloads. You can update node pools for active clusters or create a new node pool for the cluster. :::caution @@ -22,11 +22,11 @@ In Kubernetes, the term "repave" refers to the process of replacing a node with Different types of repaving operations may occur, contingent upon the actions that trigger them: -* Control plane repave: takes place when specific alterations are made to the Kubernetes configuration, such as changing the apiServer specification, or when there are changes in the hardware specifications of the master nodes (e.g., during a scale-up operation or when changing from an instance to another). Only control plane nodes are repaved, one by one. +* Control plane repave: takes place when specific alterations are made to the Kubernetes configuration, such as changing the apiServer specification, or when there are changes in the hardware specifications of the control plane nodes (for example during a scale-up operation or when changing from an instance type to another). Control plane nodes will be repaved sequentially. * Worker node pool repave: takes place when alterations to the specification of a particular node pool render the existing nodes incompatible with the pool's criteria. For instance, changing the hardware specifications of a worker pool. In this case, nodes within the affected pool are sequentially replaced with new nodes that meet the updated pool specifications. -* Full cluster repave: occurs if any changes are made to the OS layer or if there are modifications to the Kubernetes layer that impact all nodes (e.g., upgrading to a different version of Kubernetes). In a full cluster repaving, all nodes across all pools, including the control plane, undergo repaving one by one, with control plane nodes taking precedence, followed by worker pool nodes. +* Full cluster repave: occurs if any changes are made to the OS layer or if there are modifications to the Kubernetes layer that impact all nodes (for example when upgrading to a different version of Kubernetes). In a full cluster repaving, all nodes across all pools, including the control plane, undergo repaving one by one, with control plane nodes taking precedence, followed by worker pool nodes. You can customize the repave time interval for all node pools, with the exception of the master pool. The default repave time interval is 0 seconds. You have the flexibility to adjust the node repave time interval either during the cluster creation or after the cluster has been created. If you need to modify the repave time interval post-cluster creation, follow the [Change a Node Pool](#changeanodepool) instructions below. From 70300eac0253508d8856747f40cf69552d5b624d Mon Sep 17 00:00:00 2001 From: Karl Cardenas Date: Wed, 20 Sep 2023 14:10:54 -0700 Subject: [PATCH 3/3] Apply suggestions from code review Co-authored-by: Rita Watson <117382432+ritawatson@users.noreply.github.com> --- .../clusters/cluster-management/node-pool.md | 12 ++++++------ docs/docs-content/glossary-all.md | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/docs-content/clusters/cluster-management/node-pool.md b/docs/docs-content/clusters/cluster-management/node-pool.md index f1fbdffe96..f47c6410b4 100644 --- a/docs/docs-content/clusters/cluster-management/node-pool.md +++ b/docs/docs-content/clusters/cluster-management/node-pool.md @@ -7,7 +7,7 @@ sidebar_position: 190 tags: ["clusters", "cluster management"] --- -A node pool is a group of nodes within a cluster that all have the same configuration. Node pools allow you to create pools of nodes that can be used for different workloads. For example, you can create a node pool for your production workloads and another node pool for your development workloads. You can update node pools for active clusters or create a new node pool for the cluster. +A node pool is a group of nodes within a cluster that all have the same configuration. You can use node pools for different workloads. For example, you can create a node pool for your production workloads and another for your development workloads. You can update node pools for active clusters or create a new one for the cluster. :::caution @@ -20,15 +20,15 @@ Ensure you exercise caution when modifying node pools. We recommend creating a [ In Kubernetes, the term "repave" refers to the process of replacing a node with a new node. [Repaving](/glossary-all#repavement) is a common practice in Kubernetes to ensure that nodes are deployed with the latest version of the operating system and Kubernetes. Repaving is also used to replace nodes that are unhealthy or have failed. -Different types of repaving operations may occur, contingent upon the actions that trigger them: +Different types of repaving operations may occur, depending on what causes them: -* Control plane repave: takes place when specific alterations are made to the Kubernetes configuration, such as changing the apiServer specification, or when there are changes in the hardware specifications of the control plane nodes (for example during a scale-up operation or when changing from an instance type to another). Control plane nodes will be repaved sequentially. +* **Control plane repave**: This takes place when certain changes are made to the Kubernetes configuration, such as changing the apiServer specification. This type of repave also occurs when there are changes in the hardware specifications of the control plane nodes, such as during a scale-up operation or when changing from one instance type to another. Control plane nodes are repaved sequentially. -* Worker node pool repave: takes place when alterations to the specification of a particular node pool render the existing nodes incompatible with the pool's criteria. For instance, changing the hardware specifications of a worker pool. In this case, nodes within the affected pool are sequentially replaced with new nodes that meet the updated pool specifications. +* **Worker node pool repave**: This happens when changes to a node pool's specifications render the existing nodes incompatible with the pool's criteria. For instance, changing the hardware specifications of a worker pool. Nodes within the affected pool are sequentially replaced with new nodes that meet the updated specifications. -* Full cluster repave: occurs if any changes are made to the OS layer or if there are modifications to the Kubernetes layer that impact all nodes (for example when upgrading to a different version of Kubernetes). In a full cluster repaving, all nodes across all pools, including the control plane, undergo repaving one by one, with control plane nodes taking precedence, followed by worker pool nodes. +* **Full cluster repave**: This occurs if changes are made to the Operating System (OS) layer or if modifications to the Kubernetes layer impact all nodes, such as when upgrading to a different Kubernetes version. All nodes across all pools are sequentially repaved starting with the control plane. -You can customize the repave time interval for all node pools, with the exception of the master pool. The default repave time interval is 0 seconds. You have the flexibility to adjust the node repave time interval either during the cluster creation or after the cluster has been created. If you need to modify the repave time interval post-cluster creation, follow the [Change a Node Pool](#changeanodepool) instructions below. +You can customize the repave time interval for all node pools except the master pool. The default repave time interval is 0 seconds. You can adjust the node repave time interval during or after cluster creation. If you need to modify the repave time interval post-cluster creation, follow the [Change a Node Pool](#changeanodepool) instructions below. ## Node Pool Configuration Settings diff --git a/docs/docs-content/glossary-all.md b/docs/docs-content/glossary-all.md index 5870975926..01eb3210fa 100644 --- a/docs/docs-content/glossary-all.md +++ b/docs/docs-content/glossary-all.md @@ -158,7 +158,7 @@ Palette maintains a public pack registry containing various [packs](#pack) that ## Repavement -Repavement is the process of replacing a Kubernetes node with a new one. This is typically done when a node is unhealthy or needs to be upgraded. The process involves draining the node, or in other words, migrating active workloads to another healthy node, and removing it from the [node pool](/clusters/cluster-management/node-pool/#repave-behavior-and-configuration). A new node is created and configured with the same settings as the old node and added back to the pool. The process is fully automated and does not require any manual intervention. +Repavement is the process of replacing a Kubernetes node with a new one. This is typically done when a node is unhealthy or needs to be upgraded. The process involves migrating active workloads to another healthy node, and removing it from the [node pool](clusters/cluster-management/node-pool.md#repave-behavior-and-configuration). This is referred to as draining the node. A new node is created and configured with the same settings as the old node and added back to the pool. The process is fully automated and does not require manual intervention. ## Role