Installing on Linux — Overview
As an open-source project on GitHub, KubeSphere is home to a community with thousands of users. Many of them are running KubeSphere for their production workloads. For the installation on Linux, KubeSphere can be deployed both in clouds and in on-premises environments, such as AWS EC2, Azure VM and bare metal.
The installation process is easy and friendly as KubeSphere provides users with KubeKey, a lightweight installer that supports the installation of Kubernetes, KubeSphere and related add-ons. KubeKey not only helps users to create clusters online but also serves as an air-gapped installation solution for the environment with no Internet access.
Here is a list of available installation options.
- All-in-one installation: Install KubeSphere on a single node. It is only for users to quickly get familiar with KubeSphere.
- Multi-node installation: Install KubeSphere on multiple nodes. It is for testing or development.
- Air-gapped installation on Linux: All images of KubeSphere have been encapsulated into a package. It is convenient for air-gapped installation on Linux machines.
- High availability installation: Install a highly-available KubeSphere cluster with multiple nodes which is used for the production environment.
- Minimal Packages: Only install the minimum required system components of KubeSphere. Here is the minimum resource requirement:
- 2 CPUs
- 4 GB RAM
- 40 GB Storage
- Full Packages: Install all available system components of KubeSphere such as DevOps, service mesh, and alerting.
Note
Not all options are mutually exclusive. For instance, you can deploy KubeSphere with the minimal package on multiple nodes in an air-gapped environment.
If you have an existing Kubernetes cluster, see Overview of Installing on Kubernetes.
Before Installation
- As images will be pulled from the Internet, your environment must have Internet access. Otherwise, you need to install KubeSphere in an air-gapped environment.
- For all-in-one installation, the only one node is both the master and the worker.
- For multi-node installation, you need to provide host information in a configuration file.
- Your Linux host must have OpenSSH Server installed.
- See Port Requirements before installation.
KubeKey
KubeKey provides an efficient approach to the installation and configuration of your cluster. You can use it to create, scale, and upgrade your Kubernetes cluster. It also allows you to install cloud-native add-ons (YAML or Chart) as you set up your cluster. For more information, see KubeKey.
Quick Installation for Development and Testing
KubeSphere has decoupled some components since v2.1.0. KubeKey only installs necessary components by default as this way features fast installation and minimal resource consumption. If you want to enable enhanced pluggable functionalities, see Enable Pluggable Components for details.
The quick installation of KubeSphere is only for development or testing since it uses Local Volume based on openEBS to provide storage services by default. If you want a production installation, see High Availability Configurations.
Overview of Pluggable Components
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 both before and after the installation. By default, KubeKey does not install these pluggable components. For more information, see Enable Pluggable Components.
Storage Configurations
KubeSphere allows you to configure persistent storage services both before and after installation. Meanwhile, KubeSphere supports a variety of open-source storage solutions (for example, Ceph and GlusterFS) as well as commercial storage products. Refer to Persistent Storage Configurations for detailed instructions regarding how to configure the storage class before you install KubeSphere.
For more information about how to set different storage classes for your workloads after you install KubeSphere, see Persistent Volumes and Storage Classes.
Cluster Operation and Maintenance
Add new nodes
With KubeKey, you can increase the number of nodes to meet higher resource needs after the installation, especially in a production environment. For more information, see Add New Nodes.
Remove nodes
You need to drain a node before you remove it. For more information, see Remove Nodes.
Uninstalling
Uninstalling KubeSphere means it will be removed from your machine, which is irreversible. Please be cautious with the operation.
For more information, see Uninstall KubeSphere and Kubernetes.