In this post we going to learn the requirements to install a Kubernetes cluster with Rancher for a production server

There is a lot of managed Kubernetes clusters, so why rancher?

Kubernetes is hard to install and have a lot of security and system configurations, that is why there is a lot of managed Kubernetes, for example in cloud AWS have EKS, GPC have GKE and Azure have AKS, and for bare metal we have options like microk8s, Charmed Kubernetes and Rancher

Rancher can help us taking care of most of the Kubernetes configuration, and making a Kubernetes cluster easily

What is the Architecture of Rancher Server ?

Rancher Server can be installed on these main architectures

  • High-availability Kubernetes Install: Rancher recommend using Helm, a Kubernetes package manager, to install Rancher on multiple nodes on a dedicated Kubernetes cluster. For RKE clusters, three nodes are required to achieve a high-availability cluster
  • Single-node Kubernetes Install: Another option is to install Rancher with Helm on a Kubernetes cluster, but to only use a single node in the cluster. In this case, the Rancher server doesn’t have high availability, which is important for running Rancher in production. However, this option is useful if you want to save resources by using a single node in the short term, while preserving a high-availability migration path. In the future, you can add nodes to the cluster to get a high-availability Rancher server
  • Docker Install: For test and demonstration purposes, Rancher can be installed with Docker on a single node. This installation works out-of-the-box, but there is no migration path from a Docker installation to a high-availability installation. Therefore, you may want to use a Kubernetes installation from the start

In this lab we going to install a High-availability Kubernetes cluster

Terminology

In this post

  • Rancher we going to call only Rancher as the company
  • The Rancher server manages and provisions Kubernetes clusters. You can interact with downstream Kubernetes clusters through the Rancher server’s user interface
  • RKE (Rancher Kubernetes Engine) is a certified Kubernetes distribution and CLI/library which creates and manages a Kubernetes cluster

Requirements:

  • Linux basic commands knowledge
  • A external computer where from we going to provision the nodes (operator computer)
  • Nano installed (sudo apt install nano) in the operator computer
  • Three computers for the RKE with Linux 64 bits (nodes)
  • SSH server installed in the nodes

What is going to make this installation production ready?

We going to use recommendations from Rancher, this recommendations are for production clusters that include security, performance and network

  • We going to build a cluster in High Availability (HA) this means at least 3 server nodes
  • Create unique host name for each node
  • Open TCP/UDP ports
  • Activate firewall
  • Install Supported Docker version
  • Enable modules required by Rancher
  • Disable swap in the nodes
  • Enable port fordwarding
Is recommended that a Rancher server be installed over SSD disks and be the only application in the node

In the next post we going to start preparing the nodes for the RKE cluster.

References: