From cf8bd6c5656f99eec08322210cf46260e0ebac32 Mon Sep 17 00:00:00 2001 From: "vault-token-factory-spectrocloud[bot]" <133815545+vault-token-factory-spectrocloud[bot]@users.noreply.github.com> Date: Wed, 20 Sep 2023 15:21:06 -0700 Subject: [PATCH] docs: repave clarifications (#1548) (#1582) * Repave clarifications * Address feedback on repave * Apply suggestions from code review Co-authored-by: Rita Watson <117382432+ritawatson@users.noreply.github.com> --------- Co-authored-by: Karl Cardenas Co-authored-by: Rita Watson <117382432+ritawatson@users.noreply.github.com> (cherry picked from commit 3657d0f4980d09e7edf357875f41862e59f00944) Co-authored-by: Romain Decker --- .github/workflows/backport.yaml | 17 +++++++++++++++-- .github/workflows/version-branch-update.yaml | 1 - .../clusters/cluster-management/node-pool.md | 11 +++++++++-- docs/docs-content/glossary-all.md | 2 +- docs/docs-content/troubleshooting/nodes.md | 1 + 5 files changed, 26 insertions(+), 6 deletions(-) diff --git a/.github/workflows/backport.yaml b/.github/workflows/backport.yaml index be1d8593c2..232af309df 100644 --- a/.github/workflows/backport.yaml +++ b/.github/workflows/backport.yaml @@ -16,10 +16,23 @@ jobs: || (github.event.action == 'closed') ) steps: + + - name: Retrieve Credentials + id: import-secrets + uses: hashicorp/vault-action@v2.7.3 + with: + url: https://vault.prism.spectrocloud.com + method: approle + roleId: ${{ secrets.VAULT_ROLE_ID }} + secretId: ${{ secrets.VAULT_SECRET_ID }} + secrets: /providers/github/organizations/spectrocloud/token?org_name=spectrocloud token | VAULT_GITHUB_TOKEN + - name: Backport Action - uses: sqren/backport-github-action@v8.9.3 + uses: sqren/backport-github-action@v9.3.0-a with: - github_token: ${{ secrets.GITHUB_TOKEN }} + # We are using a PAT token through our Vault Operator to address the issue of PRs workflows not being triggered + # Refer to issue https://github.com/sqren/backport-github-action/issues/79 for more details. + github_token: ${{ steps.import-secrets.outputs.VAULT_GITHUB_TOKEN }} auto_backport_label_prefix: backport- add_original_reviewers: true diff --git a/.github/workflows/version-branch-update.yaml b/.github/workflows/version-branch-update.yaml index 2192312ae2..0b56875f28 100644 --- a/.github/workflows/version-branch-update.yaml +++ b/.github/workflows/version-branch-update.yaml @@ -50,7 +50,6 @@ jobs: - run: npm ci - - name: compile run: | make build diff --git a/docs/docs-content/clusters/cluster-management/node-pool.md b/docs/docs-content/clusters/cluster-management/node-pool.md index 0054da9d0a..ec9baf57a0 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,8 +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.md#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. -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](#edit-node-pool) instructions below. +Different types of repaving operations may occur, depending on what causes them: +* **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 node scale-up operation or when changing from one instance type to another. Control plane nodes are repaved sequentially. + +* **Worker node pool repave**: This happens when changes to a node pool's specifications cause the the existing nodes to become incompatible with the pool's specified 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**: 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 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](#change-a-node-pool) instructions below. ## Node Pool Configuration Settings diff --git a/docs/docs-content/glossary-all.md b/docs/docs-content/glossary-all.md index 81debb9c57..dda655ba27 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 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 diff --git a/docs/docs-content/troubleshooting/nodes.md b/docs/docs-content/troubleshooting/nodes.md index e4080ca220..82a20d0a9c 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