add installation demo and refine README.md, add development guide
Signed-off-by: 周鹏飞@yunify <pengfeizhou@yunify.com>
This commit is contained in:
72
README.md
72
README.md
@@ -2,6 +2,8 @@
|
|||||||
[](https://github.com/KubeSphere/KubeSphere/blob/master/LICENSE)
|
[](https://github.com/KubeSphere/KubeSphere/blob/master/LICENSE)
|
||||||
[](https://travis-ci.org/kubesphere/kubesphere)
|
[](https://travis-ci.org/kubesphere/kubesphere)
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
----
|
----
|
||||||
|
|
||||||
## What is KubeSphere
|
## What is KubeSphere
|
||||||
@@ -12,7 +14,7 @@
|
|||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
KubeSphere Advanced Edition 2.0.0 provides an easy-to-use console with the awesome user experience that allows you to quickly get started with a container management platform. KubeSphere provides and supports following core features:
|
KubeSphere Advanced Edition 2.0.1 provides an easy-to-use console with the awesome user experience that allows you to quickly get started with a container management platform. KubeSphere provides and supports following core features:
|
||||||
|
|
||||||
|
|
||||||
- Workload management
|
- Workload management
|
||||||
@@ -37,28 +39,10 @@ It also supports multiple open source storage and high-performance cloud storage
|
|||||||
|
|
||||||
## Latest Release
|
## Latest Release
|
||||||
|
|
||||||
KubeSphere Advanced Edition 2.0.0 was released on **May 18th, 2019**. See the [Release Notes For 2.0.0](https://docs.kubesphere.io/advanced-v2.0/release/release-v200/) to preview the updates.
|
KubeSphere Advanced Edition 2.0.1 was released on **May 18th, 2019**. See the [Release Notes For 2.0.1](https://docs.kubesphere.io/advanced-v2.0/release/release-v201/) to preview the updates.
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
KubeSphere installation supports following 2 kinds of installation, please reference the following guides on how to get KubeSphere up and running.
|
|
||||||
|
|
||||||
### All-in-One
|
|
||||||
|
|
||||||
[All-in-One](https://docs.kubesphere.io/advanced-v2.0/zh-CN/installation/all-in-one/): For those who are new to KubeSphere and looking for the fastest way to install and experience the dashboard.
|
|
||||||
|
|
||||||
Just download the installer and execute the `install.sh` under `/scripts` folder, choose `"1) All-in-one"` to trigger the installation. Generally, you can install it directly without any modification, for details please reference [All-in-One](https://docs.kubesphere.io/advanced-v2.0/zh-CN/installation/all-in-one/).
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ curl -L https://kubesphere.io/download/stable/advanced-2.0.0 > advanced-2.0.0.tar.gz
|
|
||||||
$ tar -zxf advanced-2.0.0.tar.gz
|
|
||||||
```
|
|
||||||
|
|
||||||
### Multi-Node
|
|
||||||
|
|
||||||
[Multi-Node](https://docs.kubesphere.io/advanced-v2.0/zh-CN/installation/multi-node/) is used for installing KubeSphere on multiple instances, supports for installing a highly available cluster which is able to use in a formal environment.
|
|
||||||
|
|
||||||
|
|
||||||
### Minimum Requirements
|
### Minimum Requirements
|
||||||
|
|
||||||
- Operating Systems
|
- Operating Systems
|
||||||
@@ -69,27 +53,56 @@ $ tar -zxf advanced-2.0.0.tar.gz
|
|||||||
- Hardware
|
- Hardware
|
||||||
- CPU:8 Core, Memory:16 G, Disk Space:100 G
|
- CPU:8 Core, Memory:16 G, Disk Space:100 G
|
||||||
|
|
||||||
## Quick Start
|
### All-in-One
|
||||||
|
|
||||||
The [Quick Start Guide](https://docs.kubesphere.io/advanced-v2.0/quick-start/admin-quick-start/) provides 12 quick-start examples to walk you through the process and common manipulation in KubeSphere, with a quick overview of the core features of KubeSphere that helps you to get familiar with it.
|
[All-in-One](https://docs.kubesphere.io/advanced-v2.0/zh-CN/installation/all-in-one/): For those who are new to KubeSphere and looking for the fastest way to install and experience the dashboard. Execute following commands to download and install KubeSphere in a single node.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ curl -L https://kubesphere.io/download/stable/advanced-2.0.1 > advanced-2.0.1.tar.gz && tar -zxf advanced-2.0.1.tar.gz
|
||||||
|
$ cd kubesphere-all-advanced-2.0.1/scripts
|
||||||
|
$ ./install.sh
|
||||||
|
```
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Choose `"1) All-in-one"` to trigger the installation. Generally, you can install it directly without any configuration. For details please reference [All-in-One](https://docs.kubesphere.io/advanced-v2.0/zh-CN/installation/all-in-one/).
|
||||||
|
|
||||||
|
### Multi-Node
|
||||||
|
|
||||||
|
[Multi-Node](https://docs.kubesphere.io/advanced-v2.0/zh-CN/installation/multi-node/) is used for installing KubeSphere on multiple instances, supports for installing a highly available cluster in a formal environment. Multi-node installation requires pre-configuration steps, see [Multi-Node Guide](https://docs.kubesphere.io/advanced-v2.0/zh-CN/installation/multi-node/).
|
||||||
|
|
||||||
|
|
||||||
|
## To start using KubeSphere
|
||||||
|
|
||||||
|
### Quick Start
|
||||||
|
|
||||||
|
The [Quick Start Guide](https://docs.kubesphere.io/advanced-v2.0/quick-start/admin-quick-start/) provides 12 quick-start tutorials to walk you through the process and common manipulation in KubeSphere, with a quick overview of the core features of KubeSphere that helps you to get familiar with it.
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### Documentation
|
||||||
|
|
||||||
|
- [KubeSphere Documentation (En/中) ](https://docs.kubesphere.io/)
|
||||||
|
- [KubeSphere Documentation (PDF)](https://docs.kubesphere.io/KubeSphere-advanced-v2.0.pdf)
|
||||||
|
|
||||||
|
|
||||||
|
## To start developing KubeSphere
|
||||||
|
|
||||||
|
The [development guide](docs/development-guide.md) hosts all information about building KubeSphere from source, git workflow, how to contribute code and how to test.
|
||||||
|
|
||||||
## RoadMap
|
## RoadMap
|
||||||
|
|
||||||
Currently, KubeSphere has released the following 4 major editions. Advanced Edition 2.0.0 was released on May 18, 2019. The future releases will include Big data, AI, Multicluster, QingCloud SDN, etc.
|
Currently, KubeSphere has released the following 4 major editions. The future releases will include Big data, AI, Multicluster, QingCloud SDN, etc.
|
||||||
|
|
||||||
**Community Edition** => **Express Edition** => **Advanced Edition 1.0.0** => **Advanced Edition 2.0.0**
|
**Community Edition** => **Express Edition** => **Advanced Edition 1.0.0** => **Advanced Edition 2.0.x**
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Documentation
|
|
||||||
|
|
||||||
- [KubeSphere Documentation (En/中) ](https://docs.kubesphere.io/)
|
|
||||||
- [KubeSphere Docementation (PDF)](https://docs.kubesphere.io/KubeSphere-advanced-v2.0.pdf)
|
|
||||||
|
|
||||||
## Support, Discussion, and Community
|
## Support, Discussion, and Community
|
||||||
|
|
||||||
If you need any help with KubeSphere, please join us at [Slack channel](http://kubesphere.slack.com/) where most of our team hangs out at.
|
If you need any help with KubeSphere, please join us at [Slack channel](http://kubesphere.slack.com/).
|
||||||
|
|
||||||
Please submit any KubeSphere bugs, issues, and feature requests to [KubeSphere GitHub Issue](https://github.com/kubesphere/kubesphere/issues).
|
Please submit any KubeSphere bugs, issues, and feature requests to [KubeSphere GitHub Issue](https://github.com/kubesphere/kubesphere/issues).
|
||||||
|
|
||||||
@@ -99,6 +112,5 @@ All members of the KubeSphere community must abide by [Code of Conduct](docs/cod
|
|||||||
|
|
||||||
How to submit a pull request to KubeSphere? See [Pull Request Instruction](docs/pull-requests.md).
|
How to submit a pull request to KubeSphere? See [Pull Request Instruction](docs/pull-requests.md).
|
||||||
|
|
||||||
You can then find out more detail [here](docs/welcome-to-KubeSphere-new-developer-guide.md).
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
130
docs/development-guide.md
Normal file
130
docs/development-guide.md
Normal file
@@ -0,0 +1,130 @@
|
|||||||
|
# Development Guide
|
||||||
|
|
||||||
|
This document walks you through how to get started developing KubeSphere and development workflow.
|
||||||
|
|
||||||
|
## Preparing the environment
|
||||||
|
|
||||||
|
### Go
|
||||||
|
|
||||||
|
KubeSphere development is based on [Kubernetes](https://github.com/kubernetes/kubernetes), both of them are written in [Go](http://golang.org/). If you don't have a Go development environment, please [set one up](http://golang.org/doc/code.html).
|
||||||
|
|
||||||
|
| Kubernetes | requires Go |
|
||||||
|
|----------------|-------------|
|
||||||
|
| 1.13+ | >= 1.12 |
|
||||||
|
|
||||||
|
> Tips:
|
||||||
|
> - Ensure your GOPATH and PATH have been configured in accordance with the Go
|
||||||
|
environment instructions.
|
||||||
|
> - It's recommended to install [macOS GNU tools](https://www.topbug.net/blog/2013/04/14/install-and-use-gnu-command-line-tools-in-mac-os-x) for Mac OS.
|
||||||
|
|
||||||
|
|
||||||
|
### Dependency management
|
||||||
|
|
||||||
|
KubeSphere uses `dep` to manage dependencies in the `vendor/` tree, execute following command to install [dep](https://github.com/golang/dep).
|
||||||
|
|
||||||
|
```go
|
||||||
|
go get -u github.com/golang/dep/cmd/dep
|
||||||
|
```
|
||||||
|
|
||||||
|
### Test
|
||||||
|
|
||||||
|
In the development process, it is recommended to use local Kubernetes clusters, such as [minikube](https://kubernetes.io/docs/tasks/tools/install-minikube/), or to install an single-node [all-in-one](https://github.com/kubesphere/kubesphere#all-in-one) environment (Kubernetes-based) for quick testing.
|
||||||
|
|
||||||
|
> Tip: It also supports to use Docker for Desktop ships with Kubernetes as the test environment.
|
||||||
|
|
||||||
|
## Development Workflow
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### 1 Fork in the cloud
|
||||||
|
|
||||||
|
1. Visit https://github.com/kubesphere/kubesphere
|
||||||
|
2. Click `Fork` button to establish a cloud-based fork.
|
||||||
|
|
||||||
|
### 2 Clone fork to local storage
|
||||||
|
|
||||||
|
Per Go's [workspace instructions][https://golang.org/doc/code.html#Workspaces], place KubeSphere' code on your `GOPATH` using the following cloning procedure.
|
||||||
|
|
||||||
|
1. Define a local working directory:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ export working_dir=$GOPATH/src/kubesphere.io
|
||||||
|
$ export user={your github profile name}
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Create your clone locally:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ mkdir -p $working_dir
|
||||||
|
$ cd $working_dir
|
||||||
|
$ git clone https://github.com/$user/kubesphere.git
|
||||||
|
$ cd $working_dir/kubesphere
|
||||||
|
$ git remote add upstream https://github.com/kubesphere/kubesphere.git
|
||||||
|
|
||||||
|
# Never push to upstream master
|
||||||
|
$ git remote set-url --push upstream no_push
|
||||||
|
|
||||||
|
# Confirm that your remotes make sense:
|
||||||
|
$ git remote -v
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3 Keep your branch in sync
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git fetch upstream
|
||||||
|
git checkout master
|
||||||
|
git rebase upstream/master
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4 Add new features or fix issues
|
||||||
|
|
||||||
|
Branch from it:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ git checkout -b myfeature
|
||||||
|
```
|
||||||
|
|
||||||
|
Then edit code on the myfeature branch.
|
||||||
|
|
||||||
|
**Test and Build**
|
||||||
|
|
||||||
|
Currently, make rules only contain simple checks such as vet, unit test, will add e2e tests soon.
|
||||||
|
|
||||||
|
**Using KubeBuilder**
|
||||||
|
|
||||||
|
- For Linux OS, you can download and execute this [KubeBuilder script](https://raw.githubusercontent.com/kubesphere/kubesphere/master/hack/install_kubebuilder.sh).
|
||||||
|
|
||||||
|
- For MacOS, you can install KubeBuilder by following this [guide](https://book.kubebuilder.io/quick-start.html).
|
||||||
|
|
||||||
|
**Run and Test**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ make all
|
||||||
|
# Run every unit test
|
||||||
|
$ make test
|
||||||
|
```
|
||||||
|
|
||||||
|
Run `make help` for additional information on these make targets.
|
||||||
|
|
||||||
|
### 5 Development in new branch
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ git add <file>
|
||||||
|
$ git commit -s -m "add your description"
|
||||||
|
```
|
||||||
|
|
||||||
|
### 6 Push to your folk
|
||||||
|
|
||||||
|
When ready to review (or just to establish an offsite backup or your work), push your branch to your fork on github.com:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ git push -f ${your_remote_name} myfeature
|
||||||
|
```
|
||||||
|
|
||||||
|
### 7 Create a PR
|
||||||
|
|
||||||
|
- Visit your fork at https://github.com/$user/kubesphere
|
||||||
|
- Click the` Compare & Pull Request` button next to your myfeature branch.
|
||||||
|
- Check out the [pull request process](pull-request.md) for more details and advice.
|
||||||
|
|
||||||
|
|
||||||
BIN
docs/images/dashboard.png
Normal file
BIN
docs/images/dashboard.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 389 KiB |
BIN
docs/images/ks-workflow.png
Normal file
BIN
docs/images/ks-workflow.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 72 KiB |
BIN
docs/images/kubesphere-logo.png
Normal file
BIN
docs/images/kubesphere-logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 67 KiB |
Reference in New Issue
Block a user