Skip to main content
Skip table of contents

RKE2 Pre-Deployment & Installation Guide (Single & Multi Node)

Purpose

This is a pre-deployment guide for the Kubernetes distribution RKE2 (Rancher Kubernetes Engine 2) built by Rancher. Following this guide will help you to setup the environment for smooth deployment of Single or Multi Node RKE2 distribution.

Intended Audience

This document is intended for IT operations personnel and system administrators who want to deploy Expertflow CX using the RKE2 distribution platform. Familiarity with Kubernetes in general and experience of Linux is preferable.

On this Page

Quick Links

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:

  • RKE2 Single-Node Installation ( Without HA )

  • RKE2 Multi-Node Installation ( Without HA )

CIM Prerequisites 

Kubernetes distributions and their corresponding requirements are:

TypeRAM (GB) CPUDISKScalability Network  PortsMinimum Nodes
Single-NodeMulti-NodeSingle-NodeMulti-Node

Single-Node

Multi-Node

RKE21168250 GiB ( preferably on /var )  

250 GiB (preferably on /var)

NoHigh
  • 6443/TCP and 9345 to be accessible by all nodes
  • 8472/UDP for CNI
  • 10250/TCP for metrics-server
  • 2379-2380/TCP for Cluster HA (Ports info can be found here)
12+


RASA-X Prerequisites

In a single and multi node Deployment, Rasa-X must be deployed separately from the CIM solution.

TypeRAM (GB) CPUDISKScalability Network  PortsMinimum Nodes
Single-NodeMulti-NodeSingle-NodeMulti-Node

Single-Node

Multi-Node

RKE2188250 GiB 

250GiB (preferably on /var)

NoHigh
  • 6443/TCP and 9345 to be accessible by all nodes
  • 8472/UDP for CNI
  • 10250/TCP for metrics-server
  • 2379-2380/TCP for Cluster HA (Ports info can be found here)
12+

SuperSet Prerequisites

For BI Reporting, SuperSet must be deployed separately from the main CIM Solution.


TypeRAM (GB) CPUDISKScalability Network  PortsMinimum Nodes
Single-NodeMulti-NodeSingle-NodeMulti-Node

Single-Node

Multi-Node

RKE2188250 GiB 

250GiB (preferably on /var)

NoHigh
  • 6443/TCP and 9345 to be accessible by all nodes
  • 8472/UDP for CNI
  • 10250/TCP for metrics-server
  • 2379-2380/TCP for Cluster HA 
12+

Minimal Requirements for K3s

1 RKE2 requirements are in this guide.

2 Kubernetes ports and protocols are available in this guide.

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)


Debian/Ubuntu Commands

Following command must be run for Ubuntu:

Disable firewall on all nodes

BASH
systemctl disable firewalld --now
reboot
RHEL Commands

We must run the following commands for RHEL OS before starting the installation of K3S.

Step1: Disable firewall and nm-cloud-setup service on RHEL

BASH
systemctl disable firewalld --now
systemctl disable nm-cloud-setup.service nm-cloud-setup.timer
systemctl disable apparmor.service
reboot

Step 2: Lock the RedHat Release to version 8.4 only

To lock the release of RHEL to 8.4, which is the latest supported release by longhorn, please execute these commands:

BASH
subscription-manager release --set=8.4 ;
yum clean all;
subscription-manager release --show;
rm -rf /var/cache/dnf

Step 3: Update the RHEL package for 8.4 release

BASH
yum update -y

Checklist

Before proceeding with the deployment of Single/Multi-Node cluster for RKE2, go through the checklist:


ObjectRequired
  • Internet Access is available for all the nodes. 1
Internet access will be needed for all the nodes to fetch and run RKE2
  • All Nodes running verified OS Release
RHEL-8.4 or Ubuntu-20.04
  • Firewall Service on all nodes is disabled
Firewall and nm-cloud-setup must be disabled
  • In case of RHEL, Release is fixed to 8.7
RHEL-8.7 is only supported
  • POD + services IP range decided
POD + Services IP Range must not co-exist with already existing IP Range
  • All nodes in cluster have same identical network interface names REQUIRED FOR HIGH AVAILABILITY ONLY 
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
  1. Air-Gapped deployment is also possible, check RKE2 web-site for more details at Air-Gapped install of RKE2
  2.  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.

BASH
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_:

BASH
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.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.