Alternative to Kubernetes: Rancher
Marcel Koert
Innovative Platform Engineer | DevOps Engineer | Site Reliability Engineer | IT Educator | Founder of Melomar-IT
The Application Rancher
With the open-source solution Rancher, containers can be easily orchestrated across multiple cloud environments.
Rancher is a complete software stack that helps DevOps teams use containers. It addresses the operational challenges and security issues that result from managing multiple Kubernetes clusters in different cloud environments or in a nutshell.
Rancher Features
- Offers a user-friendly graphical user interface
- Manages containers via Kubernetes
- Manages master hosts/worker nodes in the Kubernetes cluster
- Helps with container monitoring and logging
- Supports the administration of applications (multi-cluster applications)
The figure illustrates the role Rancher plays in IT and DevOps organizations. Each team deploys its applications in public or private clouds of their choice. IT administrators gain transparency and enforce guidelines for all users, clusters, and clouds. Source: Rancher
The Rancher has been appearing more and more for a year or two and has become an integral part of the container world. It quickly becomes clear that the software has something to do with Docker and Kubernetes, but not exactly what Rancher is doing now.
At least for container beginners, it is already a hurdle, since complex, professional software tends to mix technical and business talk, and all sorts of knowledge are required. If you simplify it a bit, the immense benefits of open source software can be explained quite quickly.
Getting started is easy with a few basic tips, as you'll see below. First of all, however, it should be clear how Rancher relates to Kubernetes and Docker, what the basic Rancher terms mean and what the finished system can do.
Rancher for the Multi-Cloud
Rancher is particularly strong in multi-cloud scenarios. These are used more and more frequently in companies in order best to meet the different requirements of the individual teams. In addition, overall availability increases when services are spread across multiple regions and providers. A multi-cloud can also bypass a vendor lock-in.
Rancher not only makes it possible to use Kubernetes clusters everywhere and with every provider. It also combines the individual clusters under central authentication and access control. Instead of running multiple independent Kubernetes deployments, Rancher merges them into a single, centrally managed Kubernetes cloud.
Rancher offers simple container management based on the Rancher Kubernetes Engine (RKE). It supports the operation of Kubernetes clusters in various cloud environments or on classic Linux servers. Source: Rancher Labs
Create and Reproduce Environments
In Rancher, resources can be grouped into different environments, such as development, testing, and production. Each of these environments receives its own services and infrastructure resources. In addition, it can be determined which user groups are allowed to access the surroundings. While many teams are still involved in the development, it might make sense, for example, that only a small team has access to production.
For these environments, you can, in turn, define cluster templates in order to create additional environments based on them at short notice. Any combination of infrastructure services such as the Kubernetes version, pod policies, network policies, and much more is defined in the templates. It is thus possible to exactly meet the wishes and requirements of the respective user group with the respective environment. This is of interest, among other things, for media agencies that manage multiple customer environments.
In each newly created environment, the template can also be used to start a specific pod for various services. Pods each hold a number of containers. These can be distributed across different workers (physical or virtual servers) and provide one or more services.
User Administration in Rancher
In order to assign authorizations for different environments or to authenticate users, it is possible to use existing sources in the company. There is also a direct connection to Microsoft's Active Directory, the Lightweight Directory Access Protocol (LDAP), and FreeIPA.
The Graphic Surface Provides a Clear View
Those who like to use a clear web interface will get their money's worth with Rancher. With the guidance of the intuitive user interface, DevOps teams can easily see their application workloads. To do this, users do not need to have detailed knowledge of the Kubernetes concepts. The Rancher Catalog contains a number of templates that can be used at the click of a mouse. These include a large selection of cloud-native products such as security tools, monitoring systems, container registries, and storage platforms. Each company can also create its own templates and make them available internally via the catalog via Git.
Ideal Managed Service
Despite Rancher's simplicity, it may make sense to hand over container orchestration tasks to an external managed cloud provider. This gives companies the right cloud platform and the container services running on it from a single source. In this way, your own IT department can concentrate entirely on the business processes. The provider takes on central tasks such as the provision of containers, cluster management, scaling, and reporting.
Docker, Kubernetes, Rancher
At the bottom of the base, everything starts with Docker. The system enables containers, basically greatly reduced virtual machines for (tending to) individual applications. Containers require relatively few system resources, can be backed up, replaced, reset, etc. easily and, above all, operated in large numbers.
Containers simplify the operation of applications but quickly become so numerous that they themselves need an administration tool. At this point, Kubernetes steps in and takes over the container orchestration. Kubernetes is also open source and helps with the complete container workflow from creation to management and scaling to deployment.
Instead of using individual containers (hosts), you can use clusters to improve reliability and performance. Thanks to automation, you hardly have to worry about things like updates or the distribution of tasks. Kubernetes, therefore, simplifies the handling of a larger container and computer landscape - but is itself not quite trivial, especially since in-depth knowledge of the container and Kubernetes structure is required.
This is where Rancher comes in, ostensibly a "GUI for Kubernetes," - which is technically not fair, but makes sense from a user perspective. Rancher can be used to combine "computers" into a cluster and set up applications - which is done in the background via Docker and Kubernetes.
Simplifications
Rancher is actually a huge simplification. With Rancher's Quick Start, you can set up a cluster of servers and two nodes with a running WordPress in maybe half an hour - try it out with Docker and Kubernetes by hand! And perhaps the best thing: Both Rancher itself and the node software each run as Docker containers.
The second simplification, as indicated above, is in this Rancher description. Of course, Rancher can do much more and is not very trivial to use productively. For example, Rancher can access orchestration tools other than Kubernetes, and Docker alternatives are also possible.
The Rancher Kubernetes Engine (RKE) is a command-line tool for cluster management; extensive API options are available, and so on. You get the best feeling for how Rancher works by simple testing.
Test Rancher
For local testing purposes, Rancher recommends complete installation on just one computer, but it is more interesting to set up a "normal" structure with a server and at least two nodes. In this scenario, you would need three nodes, for example, the desktop computer as the Rancher server and two virtual machines on it (make sure that these VMs get their own IP addresses and can access the Rancher server).
Basically, you can simply follow the Rancher Quick Start Guide - it couldn't be easier to describe. However, a few tips are helpful - the help requests in Rancher forums are well filled. You get the code for the nodes directly when you set up the cluster in Rancher - be sure to select all three node roles (etcd, Control Plane, Worker) here because the Docker run code is adjusted accordingly for copying.
After setting up the cluster, continue via the link "Creating Deployments" at the bottom of the page and select the workload option Ingress. Deployment sets up a simple Hello World website here, which shows that the cluster works perfectly.