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.

    Users are provided with multiple installation options. Please note not all options are mutually exclusive. For instance, you can deploy KubeSphere with minimal packages on multiple nodes in an air-gapped environment.

    • : 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 high availability KubeSphere on 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:
      • 2vCPUs
      • 4GB RAM
      • 40GB Storage
    • : Install all available system components of KubeSphere such as DevOps, service mesh, and alerting.

    For the installation on Kubernetes, see Overview of Installing on Kubernetes.

    • As images will be pulled and operating systems will be downloaded from the Internet, your environment must have Internet access. Otherwise, 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 need to specify the node roles in the configuration file before installation.
    • Please check Port Requirements before installation.

    KubeKey

    Developed in Go language, KubeKey represents a brand-new installation tool as a replacement for the ansible-based installer used before. KubeKey provides users with flexible installation choices, as they can install KubeSphere and Kubernetes separately or install them at one time, which is convenient and efficient.

    Three scenarios to use KubeKey:

    • Install Kubernetes only;
    • Install Kubernetes and KubeSphere together in one command;
    • Install Kubernetes first, and deploy KubeSphere on it using ks-installer.

    Note

    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 for details.

    The quick installation of KubeSphere is only for development or testing since it uses local volume for storage by default. If you want a production installation, see HA Cluster Configuration.

    • All-in-one. It means a single-node hassle-free installation with just one command.
    • Multi-node. It allows you to install KubeSphere on multiple instances using the default storage class (local volume), which means it is not required to install storage server such as Ceph and GlusterFS.

    Note

    For air-gapped installation, please refer to this tutorial.

    Install HA KubeSphere on Linux

    KubeKey allows users to install a highly available cluster for production. Users need to configure load balancers and persistent storage services in advance.

    • Persistent Storage Configuration: By default, KubeKey uses based on openEBS to provide storage services with dynamic provisioning in Kubernetes clusters. It is convenient for the quick installation of a testing environment. In a production environment, it must have a storage server set up. Please refer to for details.
    • Load Balancer Configuration for HA installation: Before you get started with multi-node installation in a production environment, you need to configure load balancers. Cloud load balancers, Nginx and all work for the installation.

    For more information, see HA Cluster Configuration. You can also see the specific step of HA installations across major cloud providers in Installing on Public Cloud.

    Storage Configuration Instruction

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

    With KubeKey, you can scale the number of nodes to meet higher resource needs after the installation, especially in a production environment. For more information, see Add New Nodes.

    You need to drain a node before you remove. For more information, see Remove Nodes.

    KubeKey allows you to set a new storage class after the installation. You can set different storage classes for KubeSphere itself and your workloads.

    For more information, see Add New Storage Classes.

    Uninstalling

    For more information, see Uninstalling.