< img height="1" width="1" style="display:none;" alt="" src="https://px.ads.linkedin.com/collect/?pid=3131724&fmt=gif" />

Environment Requirements

This section introduces the environment requirements for KubeSphere.

System Requirements

OSMinimum Requirements (per node)Requirements for Production Environment (per node)

Ubuntu 16.04, 18.04, 20.04, 22.04

CPU: 2 cores, Memory: 4 GB, Disk: 40 GB

CPU: 8 cores, Memory: 16 GB, Disk: 200 GB

Debian Buster, Stretch

CPU: 2 cores, Memory: 4 GB, Disk: 40 GB

CPU: 8 cores, Memory: 16 GB, Disk: 200 GB

CentOS 7.x, CentOS Stream

CPU: 2 cores, Memory: 4 GB, Disk: 40 GB

CPU: 8 cores, Memory: 16 GB, Disk: 200 GB

Red Hat Enterprise Linux 7.x, 8.x

CPU: 2 cores, Memory: 4 GB, Disk: 40 GB

CPU: 8 cores, Memory: 16 GB, Disk: 200 GB

SUSE Linux Enterprise Server 15/openSUSE Leap 15.2

CPU: 2 cores, Memory: 4 GB, Disk: 40 GB

CPU: 8 cores, Memory: 16 GB, Disk: 200 GB

Kubernetes Version Requirements

KubeSphere v4.1.3 has been tested and supports Kubernetes versions from v1.21 to v1.30, versions that have not been tested are not guaranteed to be compatible.

Different extensions may support different versions of Kubernetes and KubeSphere. You can check the compatibility details on the respective extension pages. Please choose the appropriate version of each component based on your actual environment.

For information about the version compatibility of KubeSphere v3.x, please refer to the deployment documentation of the corresponding historical versions.

Storage Requirements

  • A default storage class must be available in the cluster.

    Storage classes define a class of storage volumes that containers can use. If you did not set up an external persistent storage system during the installation of KubeSphere, KubeSphere will use the local storage system of the cluster nodes as the persistent storage system and automatically create the corresponding local storage class. If you are using an external persistent storage system, you need to install a storage plugin for the KubeSphere cluster and create storage classes to define the classes of storage volumes that can be used. For information on how to install storage plugins, please contact your storage system provider. For information on how to install the storage plugin, contact your storage system provider or refer to Configure External Persistent Storage.

  • The various components of KubeSphere only require the storage system to support creating and deleting persistent volume claims (PVCs) and do not rely on advanced capabilities such as expansion, cloning, and snapshots.

Dependency Requirements

DependencyKubernetes Version ≥ 1.18Kubernetes Version < 1.18

socat

Required

Optional, but recommended

conntrack

Required

Optional, but recommended

ebtables

Optional, but recommended

Optional, but recommended

ipset

Optional, but recommended

Optional, but recommended

Container Runtime Requirements

Supported Container RuntimesVersion

Docker

20.10.0+

containerd

Latest version

CRI-O (Experimental, not fully tested)

Latest version

iSula (Experimental, not fully tested)

Latest version

Network Requirements

  • Ensure that the DNS addresses in /etc/resolv.conf are accessible; otherwise, it may cause DNS issues in the cluster.

  • If your network configuration uses firewall rules or security groups, make sure that the infrastructure components can communicate with each other through specific ports. It is recommended to disable the firewall.

  • Supported CNI plugins: Calico and Flannel. Other plugins such as Cilium and Kube-OVN are also compatible, but note that they have not been fully tested.

Port Requirements

Certain ports are used for communication between services. If you have firewall rules in your network configuration, ensure that the infrastructure components can communicate with each other through specific ports. These ports serve as communication endpoints for certain processes or services.

ServiceProtocolActionStart PortEnd PortRemarks

ssh

TCP

Allow

22

N/A

N/A

etcd

TCP

Allow

2379

2380

N/A

apiserver

TCP

Allow

6443

N/A

N/A

calico

TCP

Allow

9099

9100

N/A

bgp

TCP

Allow

179

N/A

N/A

nodeport

TCP

Allow

30000

32767

N/A

master

TCP

Allow

10250

10258

N/A

dns

TCP

Allow

53

N/A

N/A

dns

UDP

Allow

53

N/A

N/A

local-registry

TCP

Allow

5000

N/A

Required for offline environments

local-apt

TCP

Allow

5080

N/A

Required for offline environments

rpcbind

TCP

Allow

111

N/A

Required when using NFS

ipip

IPENCAP / IPIP

Allow

N/A

N/A

Calico requires IPIP protocol

metrics-server

TCP

Allow

8443

N/A

N/A

Receive the latest news, articles and updates from KubeSphere


Thanks for the feedback. If you have a specific question about how to use KubeSphere, ask it on Slack. Open an issue in the GitHub repo if you want to report a problem or suggest an improvement.