Skip to content

Commit 5bec9fb

Browse files
author
Klaus Ma
authored
Merge pull request volcano-sh#48 from volcano-sh/2019-03-27-improve-docs
2 parents 68d167f + 17f53fd commit 5bec9fb

File tree

1 file changed

+58
-10
lines changed

1 file changed

+58
-10
lines changed

README.md

+58-10
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,46 @@
22

33
[![Build Status](https://travis-ci.com/volcano-sh/volcano.svg?token=sstuqFE81ukmNz9cEEtd&branch=master)](https://travis-ci.com/volcano-sh/volcano) [![slack](https://img.shields.io/badge/Volcano-%23SLACK-red.svg)](https://volcano-sh.slack.com/messages/CGET876H5/)
44

5-
Volcano is a Kubernetes-based system for high performance workload, providing mechanisms for applications
6-
which would like to run high performance workload leveraging Kubernetes, e.g. Tensorflow, Spark, MPI.
7-
8-
Volcano builds upon a decade and a half of experience on running high performance workload workloads at scale
9-
using several systems, combined with best-of-breed ideas and practices from the open source community.
5+
Volcano is system for runnning high performance workloads on
6+
Kubernetes. It provides a suite of mechanisms currently missing from
7+
Kubernetes that are commonly required by many classes of high
8+
performance workload including:
9+
10+
1. machine learning/deep learning,
11+
2. bioinformatics/genomics, and
12+
3. other "big data" applications.
13+
14+
These types of applications typically run on generalized domain
15+
frameworks like Tensorflow, Spark, PyTorch, MPI, etc, which Volcano integrates with.
16+
17+
Some examples of the mechanisms and features that Volcano adds to Kubernetes are:
18+
19+
1. Job management extensions and improvements, e.g:
20+
1. Multi-pod jobs
21+
2. Lifecycle management extensions including suspend/resume and
22+
restart.
23+
3. Improved error handling
24+
4. Indexed jobs
25+
5. Task dependencies
26+
2. Scheduling extensions, e.g:
27+
1. Co-scheduling
28+
2. Fair-share scheduling
29+
3. Queue scheduling
30+
4. Preemption and reclaims
31+
5. Reservartions and backfills
32+
6. Topology-based scheduling
33+
3. Runtime extensions, e.g:
34+
1. Support for specialized continer runtimes like Singularity,
35+
with GPU accelerator extensions and enhanced security features.
36+
4. Other
37+
1. Data locality awareness and intelligent scheduling
38+
2. Optimizations for data throughput, round-trip latency, etc.
39+
40+
41+
Volcano builds upon a decade and a half of experience running a wide
42+
variety of high performance workloads at scale using several systems
43+
and platforms, combined with best-of-breed ideas and practices from
44+
the open source community.
1045

1146
## Overall Architecture
1247

@@ -18,38 +53,51 @@ The easiest way to use Volcano is to use the Helm chart.
1853

1954

2055
### 1. Volcano Image
21-
Official images now are not available on DockerHub, however you can build them locally with command:
56+
57+
Official images are not yet available on DockerHub, however you can
58+
build them locally with the command:
59+
2260
```
2361
make docker
2462
```
63+
2564
**NOTE**: You need ensure the images are correctly loaded in your kubernetes cluster, for
2665
example, if you are using [kind cluster](https://github.com/kubernetes-sigs/kind),
2766
try command ```kind load docker-image <image-name>:<tag> ``` for each of the images.
2867

2968
### 2. Helm charts
30-
First of all, clone repo to your local path
69+
First of all, clone the repo to your local path:
70+
3171
```
3272
# mkdir -p $GOPATH/src/volcano.sh/
3373
# cd $GOPATH/src/volcano.sh/
3474
# git clone https://github.com/volcano-sh/volcano.git
3575
```
36-
Second, install required helm plugin and generate valid certificate, volcano uses a helm plugin **gen-admission-secret**
37-
to generate certificate for admission service to communicate with kubernetes API server.
76+
77+
Second, install the required helm plugin and generate valid
78+
certificate, volcano uses a helm plugin **gen-admission-secret** to
79+
generate certificate for admission service to communicate with
80+
kubernetes API server.
81+
3882
```
3983
#1. Install helm plugin
4084
helm plugin install installer/chart/volcano/plugins/gen-admission-secret
4185
4286
#2. Generate secret within service name
4387
helm gen-admission-secret --service <specified-name>-admission-service --namespace <namespace>
4488
```
89+
4590
Finally, install helm chart.
91+
4692
```
4793
helm install installer/chart/volcano --namespace <namespace> --name <specified-name>
4894
```
95+
4996
**NOTE**:The ```<specified-name>``` used in the two commands above should be identical.
5097

5198

52-
To Verify your installation run the below commands
99+
To Verify your installation run the following commands:
100+
53101
```
54102
#1. Verify the Running Pods
55103
# kubectl get pods --namespace <namespace>

0 commit comments

Comments
 (0)