/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 a multi-tenant enterprise-grade container platform built on Kubernetes, with full-stack automated IT operation and streamlined DevOps workflows. KubeSphere provides developer-friendly wizard web UI, helps enterprises to build out a more robust and feature-rich platform, includes most common functionalities needed for enterprise Kubernetes strategy, such as the Kubernetes resource management, DevOps (CI/CD), application lifecycle management, monitoring, logging, Service Mesh (Istio-based), multi-tenancy, alerting and notification, storage and networking, autoscaling, access control, GPU support, etc., as well as multi-cluster management, Network Policy, registry management, security in upcoming releases. KubeSphere is going to be a distributed operating system with cloud native stack based on Kubernetes, will be very well architected for plug-and-play integration with its ecosystem as well.

KubeSphere provides a complete user experience around Kubernetes that incorporates a rich set of cloud native ecosystem tools, allows developers and DevOps teams use their favorite tools in a single front-end interface. KubeSphere delivers consolidated views while integrating a wide breadth of ecosystem tools upon Kubernetes and offer consistent user experience to reduce complexity. Most importantly, these functionalities are loosely coupled with the platform since they are pluggable and optional based on your demands, will not impact the flexibilty of Kubernetes.

Note: The Screenshots give a close insight into KubeSphere, see What is KubeSphere for details.

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, support vGPU

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 uses a loosely-coupled architecture that separates the frontend from the backend, the back end can also be connected with external systems through the REST API, all components are designed as Docker containers. See Architecture for details.

Latest Release

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

Installation

KubeSphere can run anywhere from on-premise datacenter to any cloud to edge. In addition, it can be deployed on any Kubernetes distribution.

Attention: The following section is only used for minimal installation by default, see Complete Installation Guide for details.

Deploy on Existing Kubernetes

Prerequisites

  • Kubernetes version: 1.13.0 ≤ K8s version < 1.16;
  • Helm version: 2.10.0 ≤ Helm < 3.0.0,(will support Helm v3 in KubeSphere v3.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

KubeSphere Installer can help you to install KubeSphere and Kubernetes on your linux machines. It provides All-in-One and Multi-Node installation options.

Prerequisites

  • 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.

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 => v2.1.1 => v3.0.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.