“This is the 15th day of my participation in the Gwen Challenge in November. Check out the details: The Last Gwen Challenge in 2021.”

The current mainstream Kubernetes cluster management platform is Kubesphere and Rancher, so how do we choose between them? In this article, we will explore the pros and cons of these two platforms.

Kubernetes cluster management platform responsibilities

Kubernetes (K8s) cluster management platforms are based on Kubernetes to provide functions, it can be said that they are on the basis of K8s encapsulated a more friendly mode of operation. All of them are to reduce the complexity of k8S cluster operation and maintenance, reduce the operation and maintenance cost, so that the development can get started as soon as possible, deployment services.

2 The difference between Kubesphere and Rancher

Core differences:

  • KubeSphere is positioned as an application-centered container platform, providing a simple and easy to use operation interface, reducing learning costs to a certain extent, while integrating native ISTIO and other functions, more in line with the use of development habits.
  • Rancher’s core competence lies in its powerful multi-cluster management capability, which provides extremely simple K8s deployment and management capability. At the same time, it provides the ability to integrate open source monitoring, logging, and Git CI. Although learning costs are high, it provides a one-stop solution and is more friendly to operation and maintenance.

Application deployment:

  • Kubeshpere is deployed using Ansible, similar to kubeadm. You only need to configure node roles and required component parameters before deployment

  • Rancher supports two application deployment modes:

    1. You can set host roles, network parameters, and service parameters. In a test environment, you can use the default Settings, which greatly reduces the deployment time. Confirm: The maintainability is not as good as RKE deployment
    2. Advantages of RKE deployment: After the cluster.yml file is configured, the cluster can be deployed directly. Good maintainability, convenient to add nodes and modify cluster parameters in the later stage. Disadvantages: No direct deployment through Rancher is intuitive and easy to operate

Permission management:

  • Kubeshpere permission assignment is more granular and intuitive
  • Rancher also supports more fine-grained permissions, but it is not as good as Kubeshpere

Log management:

  • The Kubeshpere log query interface is friendly, but relatively unreliable.
  • Rancher has a variety of outputs. There is no log query interface, but you can use Kibana.

Monitoring and alarm:

  • Kubeshpere has only one alarm mode: email
  • Rancher supports various alarm modes, such as Webhook, enterprise wechat and email

3 Deployment of Kubesphere and Rancher

3.1 deployment Kubesphere

  • You don’t have to install the Docker first

  • Install kubernetes

  • Downloading the Installation script

  • In kubernetes deployment

    # minimize installation kubectl apply - f # https://raw.githubusercontent.com/kubesphere/ks-installer/master/kubesphere-minimal.yaml If you need to install all components, it is relatively complicated. This article does not describe it too much. Refer to the official documentsCopy the code

3.2 deployment Rancher

Docker needs to be installed in advance, Rancher has built-in K8s, no need to install additional K8s, just like installing Minikube.

Installation steps:

  • Install the docker
  • Install Rancher image through Docker, specific version according to your needs
  • Run the Rancher container from Docker

4 evaluation

  • Rancher focuses on the maintenance of the native K8S cluster, but the surrounding ecology of K8S is not as comprehensive as Kubesphere’s integration.
  • Rancher is relatively more mature and stable than Kubesphere
  • Kubesphere is friendlier than someone who is just getting started
  • Kubesphere has done some integration of things in CICD, and Rancher needs to be deployed separately
  • Operations people prefer Rancher, and developers prefer Kubesphere
  • Kubesphere integrates a large number of cloud native related components, which is relatively more in line with the concept of cloud native development
  • Rancher supports multi-cluster management (two-place, three-center), while Kubesphere is single-cluster oriented
  • While Rancher is able to integrate multiple infrastructures (public/private), Kubesphere is even more integrated with its own cloud experience

5 concludes

In general, Rancher focuses on K8s management and Kubesphere on application management. In fact, for many enterprises, many things in Kubesphere are not needed, but more swollen, and it does not support the need to use, such as multi-cluster management, which can be said to be the biggest pain point of Kubesphere, Kubesphere tends to create cloud native ecosystem, want to play cloud native, Pay more attention to Kubesphere.