Prerequisites

Edit

KubeSphere not only supports installing on virtual machine and bare metal with provisioning Kubernetes, but also supports installing on cloud-hosted and on-premises existing Kubernetes cluster as long as your Kubernetes cluster meets the prerequisites below.

  • Kubernetes version1.15.x, 1.16.x, 1.17.x
  • Helm version >= 2.10.0 and < 3.0, we recommend you to use Helm 2.16.2, see Install and Configure Helm in Kubernetes; KubeSphere 3.0 will support Helm 3.0.
  • A default Storage Class in your Kubernetes cluster is configured; use kubectl get sc to verify it.
  • Available resource CPU >= 1 Core and memory >= 2G
  • The CSR signing feature is activated in kube-apiserver when it is started with the --cluster-signing-cert-file and --cluster-signing-key-file parameters, see RKE installation issue.

Pre Checks

  1. Make sure your Kubernetes version is compatible by running kubectl version in your cluster node. The output looks as the following:
  1. $ kubectl version
  2. Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.1", GitCommit:"4485c6f18cee9a5d3c3b4e523bd27972b1b53892", GitTreeState:"clean", BuildDate:"2019-07-18T09:09:21Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}
  3. Server Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.1", GitCommit:"4485c6f18cee9a5d3c3b4e523bd27972b1b53892", GitTreeState:"clean", BuildDate:"2019-07-18T09:09:21Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}

Note: Pay attention to Server Version line. If GitVersion shows an older one, you need to upgrade the kubernetes first. Please refer to Upgrading kubeadm clusters from v1.14 to v1.15.

  1. Make sure you have installed Helm, and the version is >= 2.10.0 and < 3.0. You can run helm version to check. The output looks like below.
  1. $ helm version
  2. Client: &version.Version{SemVer:"v2.13.1", GitCommit:"618447cbf203d147601b4b9bd7f8c37a5d39fbb4", GitTreeState:"clean"}
  3. Server: &version.Version{SemVer:"v2.13.1", GitCommit:"618447cbf203d147601b4b9bd7f8c37a5d39fbb4", GitTreeState:"clean"}

Note: If you get helm: command not found, it means Helm is not installed yet. You can refer to the guide to find out how to install it, and remember to run helm init first after installation. If you use an older version (<2.10.0), you need to Upgrade Helm and Tiller.

  1. Check if the available resources in your cluster meet the minimal prerequisites.
  1. $ free -g
  2. total used free shared buff/cache available
  3. Mem: 16 4 10 0 3 2
  4. Swap: 0 0 0
  1. Check if there is a default Storage Class in your cluster. An existing Storage Class is the prerequisite for KubeSphere installation.
  1. $ kubectl get sc
  2. NAME PROVISIONER AGE
  3. glusterfs (default) kubernetes.io/glusterfs 3d4h

If your Kubernetes cluster environment meets all four requirements above, then you are ready to deploy KubeSphere on your existing Kubernetes cluster.