DevOps User Guide

Introduction

KubeSphere is an enterprise-grade multi-tenant container platform built on Kubernetes. It provides an easy-to-use UI for users to manage application workloads and computing resources with a few clicks, which greatly reduces the learning curve and the complexity of daily work such as development, testing, operation and maintenance. KubeSphere aims to alleviate the pain points of Kubernetes including storage, network, security and ease of use, etc.

KubeSphere supports installing on cloud-hosted and on-premises Kubernetes cluster, e.g. native K8s, GKE, EKS, RKE, etc. It also supports installing on Linux host including virtual machine and bare metal with provisioning fresh Kubernetes cluster. Both of the two methods are easy and friendly to install KubeSphere. Meanwhile, KubeSphere offers not only online installer, but air-gapped installer for such environment with no access to the internet.

KubeSphere is open source project on GitHub. There are thousands of users are using KunbeSphere, and many of them are running KubeSphere for their production workloads.

In summary, there are several installation options you can choose. Please note not all options are mutually exclusive. For instance, you can deploy KubeSphere with minimal packages on existing K8s cluster on multiple nodes in air-gapped environment. Here is the decision tree shown in the following graph you may reference for your own situation.

  • All-in-One: Intall KubeSphere on a singe node. It is only for users to quickly get familar with KubeSphere.
  • Multi-Node: Install KubeSphere on multiple nodes. It is for testing or development.
  • Install KubeSphere on Air Gapped Linux: All images of KubeSphere have been encapsulated into a package, it is convenient for air gapped installation on Linux machines.
  • High Availability Multi-Node: Install high availability KubeSphere on multiple nodes which is used for production environment.
  • KubeSphere on Existing K8s: Deploy KubeSphere on your Kubernetes cluster including cloud-hosted services such as GKE, EKS, etc.
  • KubeSphere on Air-Gapped K8s: Install KubeSphere on a disconnected Kubernetes cluster.
  • Minimal Packages: Only install minimal required system components of KubeSphere. The minimum of resource requirement is down to 1 core and 2G memory.
  • Full Packages: Install all available system components of KubeSphere including DevOps, service mesh, application store, etc.

Installer Options

Before Installation

  • As the installation will pull images and update operating system from the internet, your environment must have the internet access. If not, then you need to use the air-gapped installer instead.
  • For all-in-one installation, the only one node is both the master and the worker.
  • For multi-node installation, you are asked to specify the node roles in the configuration file before installation.
  • Your linux host must have OpenSSH Server installed.
  • Please check the ports requirements before installation.

Quick Install For Development and Testing

KubeSphere has decoupled some components since v2.1.0. The installer only installs required components by default which brings the benefits of fast installation and minimal resource consumption. If you want to install any optional component, please check the following section Pluggable Components Overview for details.

The quick install of KubeSphere is only for development or testing since it uses local volume for storage by default. If you want a production install please refer to the section High Availability Installation for Production Environment.

1. Install KubeSphere on Linux

  • All-in-One: It means a single-node hassle-free configuration installation with one-click.
  • Multi-Node: It allows you to install KubeSphere on multiple instances using local volume, which means it is not required to install storage server such as Ceph, GlusterFS.

Note:With regard to air-gapped installation please refer to Install KubeSphere on Air Gapped Linux Machines.

2. Install KubeSphere on Existing Kubernetes

You can install KubeSphere on your existing Kubernetes cluster. Please refer Install KubeSphere on Kubernetes for instructions.

High Availability Installation for Production Environment

1. Install HA KubeSphere on Linux

KubeSphere installer supports installing a highly available cluster for production with the prerequisites being a load balancer and persistent storage service set up in advance.

2. Install HA KubeSphere on Existing Kubernetes

Before you install KubeSphere on existing Kubernetes, please check the prerequisites of the installation on Linux described above, and verify the existing Kubernetes to see if it satisfies these prerequisites or not, i.e., a load balancer and persistent storage service.

If your Kubernetes is ready, please refer Install KubeSphere on Kubernetes for instructions.

You can install KubeSphere on cloud Kubernetes service such as Installing KubeSphere on GKE cluster

Pluggable Components Overview

KubeSphere has decoupled some core feature components since v2.1.0. These components are designed to be pluggable, which means you can enable any of them before or after installation. The installer by default does not install the pluggable components. Please check the guide Enable Pluggable Components Installation for your requirement.

Pluggable Components

Storage Configuration Instruction

The following links explain how to configure different types of persistent storage services. Please refer to Storage Configuration Instruction for detailed instructions regarding how to configure the storage class in KubeSphere.

Add New Nodes

KubeSphere Installer allows you to scale the number of nodes, see Add New Nodes.

Uninstall

Uninstall will remove KubeSphere from the machines. This operation is irreversible and dangerous. Please check Uninstall.