RKE2 Pre-Deployment & Installation Guide (Single & Multi Node)
Preparing for Deployment
There are multiple modes for deployment of RKE2 Kubernetes Distribution such as Single-Node (Without HA), Multi-Node (Without HA) and High Availability installation. This guide enlists the pre-requisites for Single-Node (Without HA) and Multi-Node (Without HA) only.
The two RKE2 modes (Single and Multi) for deployment should be decided based on what level of availability is required. For this, nodes should be prepared according to the structure of the solution as given below:
The steps in this guide need to be completed before moving on to any of these modes:
CIM Prerequisites
Kubernetes distributions and their corresponding requirements are:
Type | RAM (GB) | CPU | DISK | Scalability | Network Ports | Minimum Nodes | |||
Single-Node | Multi-Node | Single-Node | Multi-Node | Single-Node | Multi-Node | ||||
---|---|---|---|---|---|---|---|---|---|
RKE21 | 16 | 8 | 250 GiB ( preferably on /var ) | 250 GiB (preferably on /var) | No | High |
| 1 | 2+ |
RASA-X Prerequisites
In a single and multi node Deployment, Rasa-X must be deployed separately from the CIM solution.
Type | RAM (GB) | CPU | DISK | Scalability | Network Ports | Minimum Nodes | |||
Single-Node | Multi-Node | Single-Node | Multi-Node | Single-Node | Multi-Node | ||||
---|---|---|---|---|---|---|---|---|---|
RKE21 | 8 | 8 | 250 GiB | 250GiB (preferably on /var) | No | High |
| 1 | 2+ |
SuperSet Prerequisites
For BI Reporting, SuperSet must be deployed separately from the main CIM Solution.
Type | RAM (GB) | CPU | DISK | Scalability | Network Ports | Minimum Nodes | |||
Single-Node | Multi-Node | Single-Node | Multi-Node | Single-Node | Multi-Node | ||||
---|---|---|---|---|---|---|---|---|---|
RKE21 | 8 | 8 | 250 GiB | 250GiB (preferably on /var) | No | High |
| 1 | 2+ |
Run Iptables tables
If you are running iptables in nftables mode instead of legacy you might encounter issues. We recommend utilizing newer iptables (such as 1.6.1+) to avoid issues.
Environment Preparation
Before starting with K3s installation, following are the optional steps and the checklist to make sure that environment is prepared for the installation:
Linux-Based OS Instructions
RKE2 has been tested and validated on the following operating systems, and their subsequent non-major releases:
- Ubuntu 18.04, 20.04, 22.04 (amd64)
- RHEL 7.8 (amd64)
- RHEL 8.5 (amd64)
Checklist
Before proceeding with the deployment of Single/Multi-Node cluster for RKE2, go through the checklist:
Object | Required | |
---|---|---|
| Internet access will be needed for all the nodes to fetch and run RKE2 | |
| RHEL-8.4 or Ubuntu-20.04 | |
| Firewall and nm-cloud-setup must be disabled | |
| RHEL-8.7 is only supported | |
| POD + Services IP Range must not co-exist with already existing IP Range | |
| Kube-VIP needs consistent interface names across all the control-plane nodes to fail-over. ( ip addr | grep -E ':\s.*?:' | cut -d ":" -f 2 | tr -d " " ) can be used to list interfaces |
- Air-Gapped deployment is also possible, check RKE2 web-site for more details at Air-Gapped install of RKE2
- if any of the nodes is not running iscsid.service, the stateful workload will fail and may result in data loss VALID FOR MULTI-MODE CLUSTER ONLY
Corporate HTTP/S Proxy Requirement
If the environment has strict HTTP or HTTPS proxy set, we must exclude the environment from the proxy controls.
The NO_PROXY variable must include your cluster pod and service IP ranges.
HTTP_PROXY=http://your-proxy.example.com:8888
HTTPS_PROXY=http://your-proxy.example.com:8888
NO_PROXY=127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.svc,.cluster.local
If you want to configure the proxy settings for containerd without affecting RKE2 and the Kubelet, you can prefix the variables with CONTAINERD_:
CONTAINERD_HTTP_PROXY=http://your-proxy.example.com:8888
CONTAINERD_HTTPS_PROXY=http://your-proxy.example.com:8888
CONTAINERD_NO_PROXY=127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.svc,.cluster.local
Choose an Installation
Once the pre-requisites are complete, you can choose to select a mode of installation as per your requirement. The steps are explained in each of these guides:
If you want to go for configurations of High-Availability, please follow through to this guide.