From 22c7b8f9fa38753e2fed1b52c06b299f59d6b8ba Mon Sep 17 00:00:00 2001 From: Nuno do Carmo Date: Thu, 5 May 2022 16:28:00 +0200 Subject: [PATCH 01/11] Cluster Provisioning: added RKE2 section Fixes #3752 Split the Cluster Provisioning between RKE and RKE2 documentation. To keep a "reading standardization", both sections have the same sub-topics. Once the structure is agreed, RKE2 content needs to be updated. --- .../rke-clusters/_index.md | 58 +++++++++++-------- 1 file changed, 35 insertions(+), 23 deletions(-) diff --git a/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md b/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md index 0b5c79028c5..e8caef08713 100644 --- a/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md +++ b/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md @@ -3,7 +3,7 @@ title: Launching Kubernetes with Rancher weight: 4 --- -You can have Rancher launch a Kubernetes cluster using any nodes you want. When Rancher deploys Kubernetes onto these nodes, it uses [Rancher Kubernetes Engine]({{}}/rke/latest/en/) (RKE), which is Rancher's own lightweight Kubernetes installer. It can launch Kubernetes on any computers, including: +You can have Rancher launch a Kubernetes cluster using any nodes you want. When Rancher deploys Kubernetes onto these nodes, you can choose between [Rancher Kubernetes Engine]({{}}/rke/latest/en/) (RKE), which is Rancher's own lightweight Kubernetes installer, or [RKE2](https://docs.rke2.io). It can launch Kubernetes on any computers, including: - Bare-metal servers - On-premise virtual machines @@ -11,29 +11,9 @@ You can have Rancher launch a Kubernetes cluster using any nodes you want. When Rancher can install Kubernetes on existing nodes, or it can dynamically provision nodes in an infrastructure provider and install Kubernetes on them. -RKE clusters include clusters that Rancher launched on Windows nodes or other existing custom nodes, as well as clusters that Rancher launched with new nodes on Azure, Digital Ocean, EC2, or vSphere. +RKE/RKE2 clusters include clusters that Rancher launched on Windows nodes or other existing custom nodes, as well as clusters that Rancher launched with new nodes on Azure, Digital Ocean, EC2, or vSphere. -### Changes in Rancher v2.6 - -_Tech Preview_ - -Rancher v2.6 introduces provisioning for [RKE2](https://docs.rke2.io/) clusters directly from the Rancher UI. RKE2, also known as RKE Government, is a fully conformant Kubernetes distribution that focuses on security and compliance within the U.S. Federal Government sector. - -RKE2 provisioning is built on top of a new provisioning framework that leverages the upstream [Cluster API](https://github.com/kubernetes-sigs/cluster-api) project. With this new provisioning framework, you can: - -- Provision RKE2 clusters on Digital Ocean, AWS EC2, Azure, and vSphere -- Fully configure RKE2 clusters within Rancher -- Choose CNI options Calico, Cilium, and Multus in addition to Canal -- Install custom RKE2 clusters on pre-provisioned VMs or bare-metal nodes - -The RKE2 provisioning tech preview also includes installing RKE2 on Windows clusters. Windows features for RKE2 include: - -- Windows Containers with RKE2 powered by containerd -- Added provisioning of Windows RKE2 custom clusters directly from the Rancher UI -- Calico CNI for Windows RKE2 custom clusters. -- SAC releases of Windows Server (2004 and 20H2) are included in the technical preview. - -Windows Support for RKE2 Custom Clusters requires choosing Calico as the CNI. +## RKE ### Requirements @@ -58,3 +38,35 @@ For more information, refer to the section on [custom nodes.]({{}}/ranc # Programmatically Creating RKE Clusters The most common way to programmatically deploy RKE clusters through Rancher is by using the Rancher2 Terraform provider. The documentation for creating clusters with Terraform is [here.](https://registry.terraform.io/providers/rancher/rancher2/latest/docs/resources/cluster) + +## RKE2 + +Rancher v2.6 introduces provisioning for [RKE2](https://docs.rke2.io/) clusters directly from the Rancher UI. RKE2, also known as RKE Government, is a fully conformant Kubernetes distribution that focuses on security and compliance within the U.S. Federal Government sector. + +### Requirements + +If you use RKE to set up a cluster, your nodes must meet the [requirements](https://docs.rke2.io/install/requirements/) for nodes in downstream user clusters. + +### Launching Kubernetes on New Nodes in an Infrastructure Provider + +RKE2 provisioning is built on top of a new provisioning framework that leverages the upstream [Cluster API](https://github.com/kubernetes-sigs/cluster-api) project. With this new provisioning framework, you can: + +- Provision RKE2 clusters on Digital Ocean, AWS EC2, Azure, and vSphere +- Fully configure RKE2 clusters within Rancher +- Choose CNI options Calico, Cilium, and Multus in addition to Canal +- Install custom RKE2 clusters on pre-provisioned VMs or bare-metal nodes + +The RKE2 provisioning also includes installing RKE2 on Windows clusters. Windows features for RKE2 include: + +- Windows Containers with RKE2 powered by ContainerD +- Added provisioning of Windows RKE2 custom clusters directly from the Rancher UI +- Calico CNI for Windows RKE2 custom clusters. +- SAC releases of Windows Server (2004 and 20H2) are included in the technical preview. + +Windows Support for RKE2 Custom Clusters requires choosing Calico as the CNI. + +### Launching Kubernetes on Existing Custom Nodes + +If you want to reuse a node from a previous custom cluster, [clean the node]({{}}/rancher/v2.6/en/cluster-admin/cleaning-cluster-nodes/) before using it in a cluster again. If you reuse a node that hasn't been cleaned, cluster provisioning may fail. + +For more information, refer to the section on [custom nodes.]({{}}/rancher/v2.6/en/cluster-provisioning/rke-clusters/custom-nodes/) \ No newline at end of file From 4cdbea889198f4f51ba08df08e42328ef1557a8c Mon Sep 17 00:00:00 2001 From: Nuno do Carmo Date: Fri, 6 May 2022 09:36:34 +0200 Subject: [PATCH 02/11] Applied suggestion Co-authored-by: Billy Tat --- .../rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md b/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md index e8caef08713..108c17cd55f 100644 --- a/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md +++ b/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md @@ -45,7 +45,7 @@ Rancher v2.6 introduces provisioning for [RKE2](https://docs.rke2.io/) clusters ### Requirements -If you use RKE to set up a cluster, your nodes must meet the [requirements](https://docs.rke2.io/install/requirements/) for nodes in downstream user clusters. +If you use RKE2 to set up a cluster, your nodes must meet the [requirements](https://docs.rke2.io/install/requirements/) for nodes in downstream user clusters. ### Launching Kubernetes on New Nodes in an Infrastructure Provider From e9c26b1a1b0d649c0111301dd60e1588bafcd108 Mon Sep 17 00:00:00 2001 From: Nuno do Carmo Date: Fri, 6 May 2022 16:06:18 +0200 Subject: [PATCH 03/11] Added "Programmatically Creating RKE2 Clusters" sub-section to RKE2 --- .../v2.6/en/cluster-provisioning/rke-clusters/_index.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md b/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md index 108c17cd55f..72064be3399 100644 --- a/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md +++ b/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md @@ -69,4 +69,8 @@ Windows Support for RKE2 Custom Clusters requires choosing Calico as the CNI. If you want to reuse a node from a previous custom cluster, [clean the node]({{}}/rancher/v2.6/en/cluster-admin/cleaning-cluster-nodes/) before using it in a cluster again. If you reuse a node that hasn't been cleaned, cluster provisioning may fail. -For more information, refer to the section on [custom nodes.]({{}}/rancher/v2.6/en/cluster-provisioning/rke-clusters/custom-nodes/) \ No newline at end of file +For more information, refer to the section on [custom nodes.]({{}}/rancher/v2.6/en/cluster-provisioning/rke-clusters/custom-nodes/) + +# Programmatically Creating RKE2 Clusters + +The most common way to programmatically deploy RKE2 clusters through Rancher is by using the Rancher2 Terraform provider. The documentation for creating clusters with Terraform is [here.](https://registry.terraform.io/providers/rancher/rancher2/latest/docs/resources/cluster_v2) \ No newline at end of file From fe38a1fd3c5833942b0336d7896e10e74a30e87f Mon Sep 17 00:00:00 2001 From: Nuno do Carmo Date: Fri, 6 May 2022 16:07:50 +0200 Subject: [PATCH 04/11] Applied feedback from Jen --- .../v2.6/en/cluster-provisioning/rke-clusters/_index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md b/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md index 72064be3399..6a2e8f58ac6 100644 --- a/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md +++ b/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md @@ -60,8 +60,8 @@ The RKE2 provisioning also includes installing RKE2 on Windows clusters. Windows - Windows Containers with RKE2 powered by ContainerD - Added provisioning of Windows RKE2 custom clusters directly from the Rancher UI -- Calico CNI for Windows RKE2 custom clusters. -- SAC releases of Windows Server (2004 and 20H2) are included in the technical preview. +- Calico CNI for Windows RKE2 custom clusters +- SAC releases of Windows Server (2004 and 20H2) are included in the technical preview Windows Support for RKE2 Custom Clusters requires choosing Calico as the CNI. From 5014e8953ab1d24a0aa304e8dd146707cef41c0f Mon Sep 17 00:00:00 2001 From: Nuno do Carmo Date: Wed, 11 May 2022 14:46:42 +0200 Subject: [PATCH 05/11] Applied suggestion from anupama2501 --- .../v2.6/en/cluster-provisioning/rke-clusters/_index.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md b/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md index 6a2e8f58ac6..cd160113aa2 100644 --- a/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md +++ b/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md @@ -11,7 +11,9 @@ You can have Rancher launch a Kubernetes cluster using any nodes you want. When Rancher can install Kubernetes on existing nodes, or it can dynamically provision nodes in an infrastructure provider and install Kubernetes on them. -RKE/RKE2 clusters include clusters that Rancher launched on Windows nodes or other existing custom nodes, as well as clusters that Rancher launched with new nodes on Azure, Digital Ocean, EC2, or vSphere. +Rancher can also create pools of nodes. One benefit of installing Kubernetes on node pools hosted by an infrastructure provider is that if a node loses connectivity with the cluster, Rancher can automatically create another node to join the cluster to ensure that the count of the node pool is as expected. + +RKE/RKE2 clusters include clusters that Rancher launched on Windows nodes or other existing custom nodes, as well as clusters that Rancher launched with new nodes on Azure, Digital Ocean, EC2, vSphere, Linode or Harvester. ## RKE @@ -54,7 +56,6 @@ RKE2 provisioning is built on top of a new provisioning framework that leverages - Provision RKE2 clusters on Digital Ocean, AWS EC2, Azure, and vSphere - Fully configure RKE2 clusters within Rancher - Choose CNI options Calico, Cilium, and Multus in addition to Canal -- Install custom RKE2 clusters on pre-provisioned VMs or bare-metal nodes The RKE2 provisioning also includes installing RKE2 on Windows clusters. Windows features for RKE2 include: @@ -67,6 +68,8 @@ Windows Support for RKE2 Custom Clusters requires choosing Calico as the CNI. ### Launching Kubernetes on Existing Custom Nodes +RKE2 provisioning also allows you to install custom clusters on pre-provisioned VMs or bare-metal nodes. + If you want to reuse a node from a previous custom cluster, [clean the node]({{}}/rancher/v2.6/en/cluster-admin/cleaning-cluster-nodes/) before using it in a cluster again. If you reuse a node that hasn't been cleaned, cluster provisioning may fail. For more information, refer to the section on [custom nodes.]({{}}/rancher/v2.6/en/cluster-provisioning/rke-clusters/custom-nodes/) From 7ccdc8765343ff365a4a87358f6329b037504e1c Mon Sep 17 00:00:00 2001 From: Nuno do Carmo Date: Wed, 11 May 2022 15:57:34 +0200 Subject: [PATCH 06/11] Split RKE and RKE2 clusters in `node-pools` --- .../rke-clusters/node-pools/_index.md | 83 ++++++++++--------- 1 file changed, 42 insertions(+), 41 deletions(-) diff --git a/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/node-pools/_index.md b/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/node-pools/_index.md index 3c89deb26c9..0fecd8264e2 100644 --- a/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/node-pools/_index.md +++ b/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/node-pools/_index.md @@ -3,58 +3,55 @@ title: Launching Kubernetes on New Nodes in an Infrastructure Provider weight: 2205 --- +This section covers the following topics: + +- [RKE Clusters](#rke-clusters) + - [Node templates](#node-templates) + - [Node labels](#node-labels) + - [Node taints](#node-taints) + - [Administrator control of node templates](#administrator-control-of-node-templates) + - [Node pools](#node-pools) + - [Node pool taints](#node-pool-taints) + - [About node auto-replace](#about-node-auto-replace) + - [Enabling node auto-replace](#enabling-node-auto-replace) + - [Disabling node auto-replace](#disabling-node-auto-replace) + - [Cloud credentials](#cloud-credentials) + - [Node drivers](#node-drivers) +- [RKE2 Clusters](#rke2-clusters) + - [Node roles in RKE2](#node-roles-in-rke2) + +When you create an RKE or RKE2 cluster using a node template in Rancher, each resulting node pool is shown in a new **Machine Pools** tab. You can see the machine pools by doing the following: + +1. Click **☰ > Cluster Management**. +1. Click the name of the RKE or RKE2 cluster. + +## RKE Clusters + Using Rancher, you can create pools of nodes based on a [node template]({{}}/rancher/v2.6/en/cluster-provisioning/rke-clusters/node-pools/#node-templates). This node template defines the parameters you want to use to launch nodes in your infrastructure providers or cloud providers. One benefit of installing Kubernetes on node pools hosted by an infrastructure provider is that if a node loses connectivity with the cluster, Rancher can automatically create another node to join the cluster to ensure that the count of the node pool is as expected. The available cloud providers to create a node template are decided based on active [node drivers]({{}}/rancher/v2.6/en/cluster-provisioning/rke-clusters/node-pools/#node-drivers). -This section covers the following topics: - -- [Changes in Rancher v2.6](#changes-in-rancher-v2-6) -- [Node templates](#node-templates) - - [Node labels](#node-labels) - - [Node taints](#node-taints) - - [Administrator control of node templates](#administrator-control-of-node-templates) -- [Node pools](#node-pools) - - [Node pool taints](#node-pool-taints) - - [About node auto-replace](#about-node-auto-replace) - - [Enabling node auto-replace](#enabling-node-auto-replace) - - [Disabling node auto-replace](#disabling-node-auto-replace) -- [Cloud credentials](#cloud-credentials) -- [Node drivers](#node-drivers) -- [Node roles in RKE2](#node-roles-in-rke2) - -# Changes in Rancher v2.6 - -_Tech Preview_ - -Rancher v2.6 introduces provisioning for [RKE2](https://docs.rke2.io/) clusters directly from the Rancher UI. RKE2, also known as RKE Government, is a fully conformant Kubernetes distribution that focuses on security and compliance within the U.S. Federal Government sector. - -When you create an RKE or RKE2 cluster using a node template in Rancher, each resulting node pool is shown in a new **Machine Pools** tab. You can see the machine pools by doing the following: - -1. Click **☰ > Cluster Management**. -1. Click the name of the RKE or RKE2 cluster. - -# Node Templates +### Node Templates A node template is the saved configuration for the parameters to use when provisioning nodes in a specific cloud provider. These nodes can be launched from the UI. Rancher uses [Docker Machine](https://docs.docker.com/machine/) to provision these nodes. The available cloud providers to create node templates are based on the active node drivers in Rancher. After you create a node template in Rancher, it's saved so that you can use this template again to create node pools. Node templates are bound to your login. After you add a template, you can remove them from your user profile. -### Node Labels +#### Node Labels You can add [labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) on each node template, so that any nodes created from the node template will automatically have these labels on them. Invalid labels can prevent upgrades or can prevent Rancher from starting. For details on label syntax requirements, see the [Kubernetes documentation.](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set) -### Node Taints +#### Node Taints You can add [taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) on each node template, so that any nodes created from the node template will automatically have these taints on them. Since taints can be added at a node template and node pool, if there is no conflict with the same key and effect of the taints, all taints will be added to the nodes. If there are taints with the same key and different effect, the taints from the node pool will override the taints from the node template. -### Administrator Control of Node Templates +#### Administrator Control of Node Templates Administrators can control all node templates. Admins can now maintain all the node templates within Rancher. When a node template owner is no longer using Rancher, the node templates created by them can be managed by administrators so the cluster can continue to be updated and maintained. @@ -65,7 +62,7 @@ To access all node templates, an administrator will need to do the following: **Result:** All node templates are listed. The templates can be edited or cloned by clicking the **⋮**. -# Node Pools +### Node Pools Using Rancher, you can create pools of nodes based on a [node template](#node-templates). @@ -83,7 +80,7 @@ The recommended setup is to have: - a node pool with the control plane node role and a count of at least two - a node pool with the worker node role and a count of at least two -### Node Pool Taints +#### Node Pool Taints If you haven't defined [taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) on your node template, you can add taints for each node pool. The benefit of adding taints at a node pool is beneficial over adding it at a node template is that you can swap out the node templates without worrying if the taint is on the node template. @@ -91,7 +88,7 @@ For each taint, they will automatically be added to any created node in the node When there are taints on the node pool and node template, if there is no conflict with the same key and effect of the taints, all taints will be added to the nodes. If there are taints with the same key and different effect, the taints from the node pool will override the taints from the node template. -### About Node Auto-replace +#### About Node Auto-replace If a node is in a node pool, Rancher can automatically replace unreachable nodes. Rancher will use the existing node template for the given node pool to recreate the node if it becomes inactive for a specified number of minutes. @@ -99,7 +96,7 @@ If a node is in a node pool, Rancher can automatically replace unreachable nodes Node auto-replace works on top of the Kubernetes node controller. The node controller periodically checks the status of all the nodes (configurable via the `--node-monitor-period` flag of the `kube-controller`). When a node is unreachable, the node controller will taint that node. When this occurs, Rancher will begin its deletion countdown. You can configure the amount of time Rancher waits to delete the node. If the taint is not removed before the deletion countdown ends, Rancher will proceed to delete the node object. Rancher will then provision a node in accordance with the set quantity of the node pool. -### Enabling Node Auto-replace +#### Enabling Node Auto-replace When you create the node pool, you can specify the amount of time in minutes that Rancher will wait to replace an unresponsive node. @@ -109,7 +106,7 @@ When you create the node pool, you can specify the amount of time in minutes tha **Result:** Node auto-replace is enabled for the node pool. -### Disabling Node Auto-replace +#### Disabling Node Auto-replace You can disable node auto-replace from the Rancher UI with the following steps: @@ -120,7 +117,7 @@ You can disable node auto-replace from the Rancher UI with the following steps: **Result:** Node auto-replace is disabled for the node pool. -# Cloud Credentials +### Cloud Credentials Node templates can use cloud credentials to store credentials for launching nodes in your cloud provider, which has some benefits: @@ -132,11 +129,15 @@ Node templates can use cloud credentials to store credentials for launching node After cloud credentials are created, the user can start [managing the cloud credentials that they created]({{}}/rancher/v2.6/en/user-settings/cloud-credentials/). -# Node Drivers +### Node Drivers If you don't find the node driver that you want to use, you can see if it is available in Rancher's built-in [node drivers and activate it]({{}}/rancher/v2.6/en/admin-settings/drivers/node-drivers/#activating-deactivating-node-drivers), or you can [add your own custom node driver]({{}}/rancher/v2.6/en/admin-settings/drivers/node-drivers/#adding-custom-node-drivers). -# Node Roles in RKE2 +## RKE2 Clusters + +Rancher v2.6 introduces provisioning for [RKE2](https://docs.rke2.io/) clusters directly from the Rancher UI. RKE2, also known as RKE Government, is a fully conformant Kubernetes distribution that focuses on security and compliance within the U.S. Federal Government sector. + +### Node Roles The RKE2 CLI exposes two roles, `server` and `agent`, which represent the Kubernetes node-roles `etcd` + `control-plane` and `worker` respectively. With RKE2 integration in Rancher v2.6, RKE2 node pools can represent more fine-grained role assignments such that `etcd` and `control-plane` roles can be represented. @@ -145,7 +146,7 @@ The same functionality of using `etcd`, `controlplane` and `worker` nodes is pos In our [recommended cluster architecture]({{}}/rancher/v2.6/en/cluster-provisioning/production/recommended-architecture/), we outline how many nodes of each role clusters should have: - At least three nodes with the role etcd to survive losing one node -- At least two nodes with the role controlplane for master component high availability -- At least two nodes with the role worker for workload rescheduling upon node failure +- At least two nodes with the role `control plane` for master component high availability +- At least two nodes with the role `worker` for workload rescheduling upon node failure The implementation of the three node roles in Rancher means that Rancher managed RKE2 clusters are able to easily leverage all of the same architectural best practices that are recommended for RKE clusters. \ No newline at end of file From 4444e6dd68f379aa36483e4bc7de524f3fd5523d Mon Sep 17 00:00:00 2001 From: Nuno do Carmo Date: Thu, 12 May 2022 13:33:56 +0200 Subject: [PATCH 07/11] Applied suggestion from anupama2501 --- .../rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md b/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md index cd160113aa2..931311dee70 100644 --- a/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md +++ b/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md @@ -57,7 +57,7 @@ RKE2 provisioning is built on top of a new provisioning framework that leverages - Fully configure RKE2 clusters within Rancher - Choose CNI options Calico, Cilium, and Multus in addition to Canal -The RKE2 provisioning also includes installing RKE2 on Windows clusters. Windows features for RKE2 include: +The RKE2 provisioning also includes installing RKE2 on clusters with Windows nodes. Windows features for RKE2 include: - Windows Containers with RKE2 powered by ContainerD - Added provisioning of Windows RKE2 custom clusters directly from the Rancher UI From cb2e360178c96dbcbdb61034de6eab160d72becb Mon Sep 17 00:00:00 2001 From: Nuno do Carmo Date: Thu, 12 May 2022 15:54:08 +0200 Subject: [PATCH 08/11] Added note for RKE2 Cluster template --- .../en/cluster-provisioning/rke-clusters/node-pools/_index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/node-pools/_index.md b/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/node-pools/_index.md index 0fecd8264e2..49a0173f123 100644 --- a/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/node-pools/_index.md +++ b/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/node-pools/_index.md @@ -137,6 +137,8 @@ If you don't find the node driver that you want to use, you can see if it is ava Rancher v2.6 introduces provisioning for [RKE2](https://docs.rke2.io/) clusters directly from the Rancher UI. RKE2, also known as RKE Government, is a fully conformant Kubernetes distribution that focuses on security and compliance within the U.S. Federal Government sector. +> **Note:** For RKE2 cluster templates, please refer to [this page]({{}}/rancher/v2.6/en/admin-settings/cluster-templates/#rke2-cluster-template) for additional information. + ### Node Roles The RKE2 CLI exposes two roles, `server` and `agent`, which represent the Kubernetes node-roles `etcd` + `control-plane` and `worker` respectively. With RKE2 integration in Rancher v2.6, RKE2 node pools can represent more fine-grained role assignments such that `etcd` and `control-plane` roles can be represented. From 3d66905b1a0ac3f2f5224a2dbe50fb2edec96979 Mon Sep 17 00:00:00 2001 From: Jennifer Travinski Date: Thu, 12 May 2022 15:01:22 -0400 Subject: [PATCH 09/11] Updated per feedback --- .../rke-clusters/_index.md | 23 +++++++++---------- .../rke-clusters/node-pools/_index.md | 14 +++++------ 2 files changed, 18 insertions(+), 19 deletions(-) diff --git a/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md b/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md index 931311dee70..28fd974c021 100644 --- a/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md +++ b/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md @@ -3,7 +3,7 @@ title: Launching Kubernetes with Rancher weight: 4 --- -You can have Rancher launch a Kubernetes cluster using any nodes you want. When Rancher deploys Kubernetes onto these nodes, you can choose between [Rancher Kubernetes Engine]({{}}/rke/latest/en/) (RKE), which is Rancher's own lightweight Kubernetes installer, or [RKE2](https://docs.rke2.io). It can launch Kubernetes on any computers, including: +You can have Rancher launch a Kubernetes cluster using any nodes you want. When Rancher deploys Kubernetes onto these nodes, you can choose between [Rancher Kubernetes Engine]({{}}/rke/latest/en/) (RKE) or [RKE2](https://docs.rke2.io) distributions. Rancher can launch Kubernetes on any computers, including: - Bare-metal servers - On-premise virtual machines @@ -13,8 +13,6 @@ Rancher can install Kubernetes on existing nodes, or it can dynamically provisio Rancher can also create pools of nodes. One benefit of installing Kubernetes on node pools hosted by an infrastructure provider is that if a node loses connectivity with the cluster, Rancher can automatically create another node to join the cluster to ensure that the count of the node pool is as expected. -RKE/RKE2 clusters include clusters that Rancher launched on Windows nodes or other existing custom nodes, as well as clusters that Rancher launched with new nodes on Azure, Digital Ocean, EC2, vSphere, Linode or Harvester. - ## RKE ### Requirements @@ -43,7 +41,9 @@ The most common way to programmatically deploy RKE clusters through Rancher is b ## RKE2 -Rancher v2.6 introduces provisioning for [RKE2](https://docs.rke2.io/) clusters directly from the Rancher UI. RKE2, also known as RKE Government, is a fully conformant Kubernetes distribution that focuses on security and compliance within the U.S. Federal Government sector. +Rancher v2.6 introduced provisioning for [RKE2](https://docs.rke2.io/) clusters directly from the Rancher UI. RKE2, also known as RKE Government, is a fully conformant Kubernetes distribution that focuses on security and compliance within the U.S. Federal Government sector. In Rancher v.2.6.4 and earlier, RKE2 provisioning was in tech preview. + +Note that in Rancher v2.6.5, RKE2 provisioning became GA. ### Requirements @@ -53,16 +53,17 @@ If you use RKE2 to set up a cluster, your nodes must meet the [requirements](htt RKE2 provisioning is built on top of a new provisioning framework that leverages the upstream [Cluster API](https://github.com/kubernetes-sigs/cluster-api) project. With this new provisioning framework, you can: -- Provision RKE2 clusters on Digital Ocean, AWS EC2, Azure, and vSphere +- Provision RKE2 clusters onto any provider for which Rancher has a node driver - Fully configure RKE2 clusters within Rancher - Choose CNI options Calico, Cilium, and Multus in addition to Canal -The RKE2 provisioning also includes installing RKE2 on clusters with Windows nodes. Windows features for RKE2 include: +RKE2 provisioning also includes installing RKE2 on clusters with Windows nodes. **Note that currently Windows nodes are only supported on custom clusters.** -- Windows Containers with RKE2 powered by ContainerD -- Added provisioning of Windows RKE2 custom clusters directly from the Rancher UI +Windows features for RKE2 include: + +- Windows Containers with RKE2 powered by containerd +- Provisioning of Windows RKE2 custom clusters directly from the Rancher UI - Calico CNI for Windows RKE2 custom clusters -- SAC releases of Windows Server (2004 and 20H2) are included in the technical preview Windows Support for RKE2 Custom Clusters requires choosing Calico as the CNI. @@ -70,9 +71,7 @@ Windows Support for RKE2 Custom Clusters requires choosing Calico as the CNI. RKE2 provisioning also allows you to install custom clusters on pre-provisioned VMs or bare-metal nodes. -If you want to reuse a node from a previous custom cluster, [clean the node]({{}}/rancher/v2.6/en/cluster-admin/cleaning-cluster-nodes/) before using it in a cluster again. If you reuse a node that hasn't been cleaned, cluster provisioning may fail. - -For more information, refer to the section on [custom nodes.]({{}}/rancher/v2.6/en/cluster-provisioning/rke-clusters/custom-nodes/) +If you want to reuse a node from a previous custom cluster, clean the node before using it in a cluster again. If you reuse a node that hasn't been cleaned, cluster provisioning may fail. # Programmatically Creating RKE2 Clusters diff --git a/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/node-pools/_index.md b/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/node-pools/_index.md index 49a0173f123..1de5cadd416 100644 --- a/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/node-pools/_index.md +++ b/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/node-pools/_index.md @@ -72,12 +72,12 @@ The benefit of using a node pool is that if a node is destroyed or deleted, you Each node pool must have one or more nodes roles assigned. -Each node role (i.e. etcd, control plane, and worker) should be assigned to a distinct node pool. Although it is possible to assign multiple node roles to a node pool, this should not be done for production clusters. +Each node role (i.e. etcd, controlplane, and worker) should be assigned to a distinct node pool. Although it is possible to assign multiple node roles to a node pool, this should not be done for production clusters. The recommended setup is to have: - a node pool with the etcd node role and a count of three -- a node pool with the control plane node role and a count of at least two +- a node pool with the controlplane node role and a count of at least two - a node pool with the worker node role and a count of at least two #### Node Pool Taints @@ -141,14 +141,14 @@ Rancher v2.6 introduces provisioning for [RKE2](https://docs.rke2.io/) clusters ### Node Roles -The RKE2 CLI exposes two roles, `server` and `agent`, which represent the Kubernetes node-roles `etcd` + `control-plane` and `worker` respectively. With RKE2 integration in Rancher v2.6, RKE2 node pools can represent more fine-grained role assignments such that `etcd` and `control-plane` roles can be represented. +The RKE2 CLI exposes two roles, `server` and `agent`, which represent the Kubernetes node-roles `etcd` + `controlplane` and `worker` respectively. With RKE2 integration in Rancher v2.6, RKE2 node pools can represent more fine-grained role assignments such that `etcd` and `controlplane` roles can be represented. The same functionality of using `etcd`, `controlplane` and `worker` nodes is possible in the RKE2 CLI by using flags and node tainting to control where workloads and the Kubernetes master were scheduled. The reason those roles were not implemented as first-class roles in the RKE2 CLI is that RKE2 is conceptualized as a set of raw building blocks that are best leveraged through an orchestration system such as Rancher. +The implementation of the three node roles in Rancher means that Rancher managed RKE2 clusters are able to easily leverage all of the same architectural best practices that are recommended for RKE clusters. + In our [recommended cluster architecture]({{}}/rancher/v2.6/en/cluster-provisioning/production/recommended-architecture/), we outline how many nodes of each role clusters should have: - At least three nodes with the role etcd to survive losing one node -- At least two nodes with the role `control plane` for master component high availability -- At least two nodes with the role `worker` for workload rescheduling upon node failure - -The implementation of the three node roles in Rancher means that Rancher managed RKE2 clusters are able to easily leverage all of the same architectural best practices that are recommended for RKE clusters. \ No newline at end of file +- At least two nodes with the role controlplane for master component high availability +- At least two nodes with the role worker for workload rescheduling upon node failure \ No newline at end of file From 8093683a08b961f87d6fb2f1e853b7f4650c722a Mon Sep 17 00:00:00 2001 From: Jennifer Travinski Date: Thu, 12 May 2022 19:27:32 -0400 Subject: [PATCH 10/11] Removed note per feedback --- .../rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md b/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md index 28fd974c021..67edade6514 100644 --- a/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md +++ b/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md @@ -57,7 +57,7 @@ RKE2 provisioning is built on top of a new provisioning framework that leverages - Fully configure RKE2 clusters within Rancher - Choose CNI options Calico, Cilium, and Multus in addition to Canal -RKE2 provisioning also includes installing RKE2 on clusters with Windows nodes. **Note that currently Windows nodes are only supported on custom clusters.** +RKE2 provisioning also includes installing RKE2 on clusters with Windows nodes. Windows features for RKE2 include: From d4e3d2fbeffd9fe9af26adfaf688a627ff6f92b2 Mon Sep 17 00:00:00 2001 From: Jennifer Travinski Date: Fri, 13 May 2022 13:33:41 -0400 Subject: [PATCH 11/11] Added features per feedback --- .../v2.6/en/cluster-provisioning/rke-clusters/_index.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md b/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md index 67edade6514..21f9d9de5d5 100644 --- a/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md +++ b/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/_index.md @@ -61,9 +61,12 @@ RKE2 provisioning also includes installing RKE2 on clusters with Windows nodes. Windows features for RKE2 include: -- Windows Containers with RKE2 powered by containerd -- Provisioning of Windows RKE2 custom clusters directly from the Rancher UI +- Windows supports the vSphere node driver - Calico CNI for Windows RKE2 custom clusters +- Project Network Isolation (PNI) for Calico +- Windows Containers with RKE2 powered by containerd +- Provisioning of Windows RKE2 clusters through Terraform +- Provisioning of Windows RKE2 custom clusters directly from the Rancher UI Windows Support for RKE2 Custom Clusters requires choosing Calico as the CNI.