177 lines
9.7 KiB
Markdown
177 lines
9.7 KiB
Markdown
# KubeSphere Container Platform
|
||
[](https://github.com/KubeSphere/KubeSphere/blob/master/LICENSE)
|
||
[](https://travis-ci.org/kubesphere/kubesphere)
|
||
[](https://goreportcard.com/report/github.com/kubesphere/kubesphere)
|
||
[](https://github.com/kubesphere/kubesphere/releases/tag/v2.1.1)
|
||
|
||

|
||
|
||
----
|
||
|
||
## What is KubeSphere
|
||
|
||
> English | [中文](README_zh.md)
|
||
|
||
[KubeSphere](https://kubesphere.io/) is a **distributed operating system providing cloud native stack** with [Kubernetes](https://kubernetes.io) as its kernel, and aims to be plug-and-play architecture for third-party applications seamless integration to boost its ecosystem. KubeSphere is also a multi-tenant enterprise-grade container platform with full-stack automated IT operation and streamlined DevOps workflows. It provides developer-friendly wizard web UI, helping enterprises to build out a more robust and feature-rich platform, which includes most common functionalities needed for enterprise Kubernetes strategy, see [Feature list](#features) for details.
|
||
|
||
|
||
> Note: The [Screenshots](docs/en/guides/screenshots.md) give a close insight into KubeSphere, see [What is KubeSphere](https://kubesphere.io/docs/v2.1/en/introduction/what-is-kubesphere) for further information.
|
||
|
||
|
||
<table>
|
||
<tr>
|
||
<td width="50%" align="center"><b>KubeSphere Dashboard</b></td>
|
||
<td width="50%" align="center"><b>Project Resources</b></td>
|
||
</tr>
|
||
<tr>
|
||
<td><img src="docs/images/console.png"/></td>
|
||
<td><img src="docs/images/project.png"/></td>
|
||
</tr>
|
||
<tr>
|
||
<td width="50%" align="center"><b>CI/CD Pipeline</b></td>
|
||
<td width="50%" align="center"><b>Application Store</b></td>
|
||
</tr>
|
||
<tr>
|
||
<td><img src="docs/images/cicd.png"/></td>
|
||
<td><img src="docs/images/app-store.png"/></td>
|
||
</tr>
|
||
</table>
|
||
|
||
## Demo Environment
|
||
|
||
Using the account `demo1 / Demo123` to log in the [demo environment](https://demo.kubesphere.io/). Please note the account is granted viewer access. You can also have a quick view of [KubeSphere Demo Video](https://youtu.be/u5lQvhi_Xlc).
|
||
|
||
## Architecture
|
||
|
||
KubeSphere uses a loosely-coupled architecture that separates the [frontend](https://github.com/kubesphere/console) from the [backend](https://github.com/kubesphere/kubesphere), the back end can also be connected with external systems through the REST API, all components are designed as Docker containers. See [Architecture](https://kubesphere.io/docs/v2.1/en/introduction/architecture/) for details.
|
||
|
||

|
||
|
||
|
||
## Features
|
||
|
||
|Feature|Description|
|
||
|---|---|
|
||
| Provisioning Kubernetes Cluster|Support deploy Kubernetes on your infrastructure out of box, including online and air gapped installation|
|
||
| Kubernetes Resource Management | Provide web console for creating and managing Kubernetes resources, with powerful observability including monitoring, logging, events, alerting and notification |
|
||
| DevOps System | Provide out-of-box CI/CD based on Jenkins, and offers automated workflow tools including binary-to-image (B2I) and source-to-image (S2I) |
|
||
| Application Store | Provide application store for Helm-based applications, and offers application lifecycle management |
|
||
| Service Mesh (Istio-based) | Provide fine-grained traffic management, observability and tracing for distributed microservice applications, provides visualization for traffic topology |
|
||
| Rich Observability | Provide multi-dimensional monitoring metrics, and provides multi-tenant log query and collection, support alerting and notification for both application and infrastructure |
|
||
| Multi-tenant Management | Provide unified authentication with fine-grained roles and three-tier authorization system, supports AD/LDAP authentication |
|
||
| Infrastructure Management | Support node management and monitoring, and supports adding new nodes for Kubernetes cluster |
|
||
| Storage Support | Support GlusterFS, CephRBD, NFS, Local (default) etc. open source storage solutions, provide CSI plugins to consume storage from cloud providers |
|
||
| Network Support | Support Calico, Flannel, etc. open source network solutions, provides load balancer plug-in [Porter](https://github.com/kubesphere/porter) for Kubernetes installed on physical machines |
|
||
| GPU Support | Support add GPU node, support vGPU, enables running ML applications on Kubernetes, e.g. TensorFlow |
|
||
|
||
|
||
> Note: See this [Feature and Benefits](https://kubesphere.io/docs/v2.1/en/introduction/features/) for further information.
|
||
|
||
----
|
||
|
||
|
||
## Latest Release
|
||
|
||
KubeSphere 2.1.1 was released on **February 23th, 2020**. See the [Release Notes For 2.1.1](https://kubesphere.io/docs/v2.1/en/release/release-v211/) 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 version-compatible Kubernetes cluster.
|
||
|
||
### Deploy on Existing Kubernetes
|
||
|
||
**Prerequisites**
|
||
|
||
> - `Kubernetes version`: `1.15.x, 1.16.x, 1.17.x`
|
||
> - `Helm version` >= `2.10.0`,see [Install and Configure Helm in Kubernetes](https://devopscube.com/install-configure-helm-kubernetes/), (Helm v3 will be supported in KubeSphere 3.0.0)
|
||
> - An existing Storage Class in your Kubernetes cluster, use `kubectl get sc` to verify it
|
||
> - The CSR signing feature is activated in kube-apiserver, see [RKE installation issue](https://github.com/kubesphere/kubesphere/issues/1925#issuecomment-591698309).
|
||
|
||
Install KubeSphere using kubectl.
|
||
|
||
- If there are 1 Core and 2 GB RAM available in your cluster, use the command below to set up a default minimal installation only:
|
||
|
||
```bash
|
||
kubectl apply -f https://raw.githubusercontent.com/kubesphere/ks-installer/master/kubesphere-minimal.yaml
|
||
```
|
||
|
||
You can enable other components after installation, see [Pluggable components Installation](https://kubesphere.io/docs/v2.1/en/installation/pluggable-components/).
|
||
|
||
- If there are 8 Cores and 16 GB RAM available in your cluster, use the command below to install a complete KubeSphere, i.e. with all components enabled:
|
||
|
||
```bash
|
||
kubectl apply -f https://raw.githubusercontent.com/kubesphere/ks-installer/master/kubesphere-complete-setup.yaml
|
||
```
|
||
|
||
### Deploy on Linux
|
||
|
||
KubeSphere Installer can help you to install KubeSphere and Kubernetes on your linux machines. It provides [All-in-One](https://kubesphere.io/docs/v2.1/en/installation/all-in-one/) and [Multi-Node](https://kubesphere.io/docs/v2.1/en/installation/multi-node/) installation options.
|
||
|
||
**Minimum Requirements**
|
||
|
||
- 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
|
||
|
||
> Note: Please disable the firewall, or ensure your firewall meets the [port requirements](https://kubesphere.io/docs/installation/port-firewall/).
|
||
|
||
#### All-in-One (QuickStart)
|
||
|
||
```bash
|
||
curl -L https://kubesphere.io/download/stable/latest > installer.tar.gz \
|
||
&& tar -zxf installer.tar.gz && cd kubesphere-all-v2.1.1/scripts
|
||
$ ./install.sh
|
||
```
|
||
|
||
Choose `"1) All-in-one"` to start the default minimal installation.
|
||
|
||
You can enable other components after installation, see [Pluggable Components Installation](https://kubesphere.io/docs/v2.1/en/installation/pluggable-components/).
|
||
|
||
|
||
## To start using KubeSphere
|
||
|
||
- KubeSphere Documentation ([En](https://kubesphere.io/docs/en/)/[中](https://kubesphere.io/docs/zh-CN/))
|
||
- [API Documentation](https://kubesphere.io/docs/v2.1/en/api-reference/api-docs/)
|
||
|
||
## To start developing KubeSphere
|
||
|
||
The [development guide](https://github.com/kubesphere/community/tree/master/developer-guide/development) 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 5 major editions. The future releases include multicluster, big data, AI, SDN, etc. See [Plans for 2.1.1 and 3.0.0](https://github.com/kubesphere/kubesphere/issues/1368) for more details.
|
||
|
||
**Express Edition** => **v1.0.x** => **v2.0.x** => **v2.1.0** => **v2.1.1** => **v3.0.0**
|
||
|
||

|
||
|
||
## Landscapes
|
||
|
||
<p align="center">
|
||
<br/><br/>
|
||
<img src="https://landscape.cncf.io/images/left-logo.svg" width="150"/> <img src="https://landscape.cncf.io/images/right-logo.svg" width="200"/> <img src="https://www.cncf.io/wp-content/uploads/2017/11/certified_kubernetes_color.png" height="40" width="30"/>
|
||
<br/><br/>
|
||
KubeSphere is a member of CNCF and a <a href="https://www.cncf.io/certification/software-conformance/#logos">Kubernetes Conformance Certified platform
|
||
</a>, which enriches the <a href="https://landscape.cncf.io/landscape=observability-and-analysis&license=apache-license-2-0">CNCF CLOUD NATIVE Landscape.
|
||
</a>
|
||
</p>
|
||
|
||
## Who Uses KubeSphere
|
||
|
||
The [Powered by KubeSphere](docs/powered-by-kubesphere.md) 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](https://join.slack.com/t/kubesphere/shared_invite/enQtNTE3MDIxNzUxNzQ0LTZkNTdkYWNiYTVkMTM5ZThhODY1MjAyZmVlYWEwZmQ3ODQ1NmM1MGVkNWEzZTRhNzk0MzM5MmY4NDc3ZWVhMjE).
|
||
|
||
Please submit any KubeSphere bugs, issues, and feature requests to [KubeSphere GitHub Issue](https://github.com/kubesphere/kubesphere/issues).
|
||
|
||
## Contributing to the project
|
||
|
||
This [document](https://github.com/kubesphere/community) walks you through how to get started contributing KubeSphere.
|