/kubesphere

Easy-to-use Production Ready Container Platform

Primary LanguageGoApache License 2.0Apache-2.0

KubeSphere

License Build Status Go Report Card KubeSphere release

logo


What is KubeSphere

English | 中文

KubeSphere is an enterprise-grade multi-tenant container management 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.

Screenshots

Note: The Screenshots give a close insight into KubeSphere.

KubeSphere Dashboard Project Resources
CI/CD Pipeline Application Store

Video on Youtube

KubeSphere

Demo Environment

Using the account demo1 / Demo123 to log in the demo environment. Please note the account is granted viewer access.

Features

KubeSphere provides an easy-to-use console with awesome user experience that allows you to quickly get started with a container management platform. KubeSphere provides and supports the following major features:

  • Workload management
  • Service mesh (Istio-based)
  • DevOps (CI/CD Pipeline)
  • Source to Image, Binary to Image
  • Multi-tenant management
  • Multi-dimensional and multi-tenant monitoring, logging, alerting, notification
  • Service and network management
  • Application store and application lifecycle management
  • Node and storage class management, image registry management
  • Integrated Harbor, GitLab, SonarQube
  • LB controller for Kubernetes on bare metal (Porter), cloud LB plugin
  • Support GPU node

It also supports a variety of open source storage solutions and cloud storage products as the persistent storage services, as well as supports multiple open source network plugins.

Note: See this document which elaborates on the KubeSphere features and services.


Architecture

KubeSphere separates frontend and backend as shows below. KubeSphere can run anywhere from on-premise datacenter to any cloud to edge. In addition, it can be deployed on any Kubernetes distribution. Please check the installation guide.

Latest Release

KubeSphere 2.1.0 was released on November 12nd, 2019. Check the Release Notes For 2.1.0 for the updates.

Installation

Attention: The following section is only used for minimal installation by default, KubeSphere has decoupled some core components in v2.1.0. For pluggable components installation, see Enable Pluggable Components below.

Deploy on Existing Kubernetes

Prerequisites

  • Kubernetes version1.13.0 ≤ K8s version < 1.16;
  • Helm version >= 2.10.0,see Install and Configure Helm in Kubernetes;
  • CPU > 1 Core,Memory > 2 G;
  • An existing Storage Class in your Kubernetes clusters, use kubectl get sc to verify it.

Run the following command. When all Pods of KubeSphere are running, it means the installation is successsful. Then you can use http://<IP>:30880 to access the dashboard with default account admin/P@88w0rd.

$ kubectl apply -f https://raw.githubusercontent.com/kubesphere/ks-installer/master/kubesphere-minimal.yaml

Deploy on Linux

The installation is going to install KubeSphere and Kubernetes on your linux machines. It provides All-in-One and Multi-Node installation options.

  • Operating Systems
    • CentOS 7.5 (64 bit)
    • Ubuntu 16.04/18.04 LTS (64 bit)
    • Red Hat Enterprise Linux Server 7.4 (64 bit)
    • Debian Stretch 9.5 (64 bit)
  • Hardware
    • CPU:2 Core, Memory:4 G, Disk Space:100 G
All-in-One

For those who are new to KubeSphere and looking for the easiest way to install and experience the dashboard. Execute the following commands to download and install KubeSphere in a single node.

$ curl -L https://kubesphere.io/download/stable/v2.1.0 > installer.tar.gz \
&& tar -zxf installer.tar.gz && cd kubesphere-all-v2.1.0/scripts
$ ./install.sh

Choose "1) All-in-one" to start the installation without changing any configuration.

Note: In a development or production environment, it's highly recommended to install Multi-Node KubeSphere.

Enable Pluggable Components

If you want to use optional components after the minimal installation as shown above, please execute following command to enable the pluggable components you prefer to start the installation. Make sure your cluster has enough CPU and memory in advance.

$ kubectl edit cm -n kubesphere-system ks-installer

To start using KubeSphere

Quick Start

KubeSphere provides 12 quick-start tutorials to walk you through the platform.

Documentation

To start developing KubeSphere

The development guide hosts all information about building KubeSphere from source, git workflow, how to contribute code and how to test.

RoadMap

Currently, KubeSphere has released the following 4 major editions. The future releases will include Multicluster, Big data, AI, SDN, etc. See Plans for 2.1.1 and 3.0.0 for more details.

Express Edition => v1.0.x => v2.0.x => v2.1.0

Landscapes



    

KubeSphere is a member of CNCF and a Kubernetes Conformance Certified platform , which enriches the CNCF CLOUD NATIVE Landscape.

Who Uses KubeSphere

The Powered by KubeSphere page includes users list of the project. You can submit your institution name and homepage if you are using KubeSphere.

Support, Discussion, and Community

If you need any help with KubeSphere, please join us at Slack Channel.

Please submit any KubeSphere bugs, issues, and feature requests to KubeSphere GitHub Issue.

Contributing to the project

This document walks you through how to get started contributing KubeSphere.