Skip to content

Commit ecc346e

Browse files
committed
Add readme & fix namespace issue
1 parent 8ada4fe commit ecc346e

File tree

7 files changed

+45
-22
lines changed

7 files changed

+45
-22
lines changed

README.md

+39
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,45 @@ using several systems, combined with best-of-breed ideas and practices from the
1212

1313
![volcano](docs/images/volcano-intro.png)
1414

15+
## Installation
16+
17+
The easiest way to use Volcano is to use the Helm [chart](https://github.com/helm/charts/tree/master/incubator/sparkoperator).
18+
19+
20+
### 1. Volcano Image
21+
Official images now are not available on DockerHub, however you can build them locally with command:
22+
```
23+
make docker
24+
```
25+
**NOTE**: You need ensure the images are correctly loaded in your kubernetes cluster, for
26+
example, if you are using [kind cluster](https://github.com/kubernetes-sigs/kind),
27+
try command ```kind load docker-image <image-name>:<tag> ``` for each of the images.
28+
29+
### 2. Helm charts
30+
First of all, clone repo to your local path
31+
```
32+
# mkdir -p $GOPATH/src/volcano.sh/
33+
# cd $GOPATH/src/volcano.sh/
34+
# git clone https://github.com/volcano-sh/volcano.git
35+
```
36+
Volcano introduces a helm plugin **gen-admission-secret** to generate valid cert (stored in k8s secret) for
37+
admission service, therefore you are required to install & execute the plugin before installing the chart.
38+
```
39+
#1. Install helm plugin
40+
helm plugin install installer/chart/volcano/plugins/gen-admission-secret
41+
42+
#2. Generate secret within service name
43+
helm gen-admission-secret --service <specified-name>-admission-service --namespace <namespace>
44+
45+
#3. Install helm chart
46+
helm install installer/chart/volcano --namespace <namespace> --name <specified-name>
47+
```
48+
The **<specified-name>** used in the two commands above should be identical.
49+
50+
51+
52+
53+
1554
## Community, discussion, contribution, and support
1655

1756
You can reach the maintainers of this project at:

installer/chart/volcano/plugins/gen-admission-secret/gen-admission-secret.sh

+6-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,12 @@ while [[ $# -gt 0 ]]; do
4141
shift
4242
done
4343

44-
[ -z ${service} ] && service=volcano-admission-service
44+
if [ -z ${service} ]; then
45+
echo "'--service' must be specified"
46+
exit 1
47+
fi
48+
49+
4550
[ -z ${secret} ] && secret=volcano-admission-secret
4651
[ -z ${namespace} ] && namespace=default
4752

installer/chart/volcano/templates/admission-config.yaml

-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ webhooks:
99
caBundle: ""
1010
service:
1111
name: {{ .Release.Name }}-admission-service
12-
namespace: {{.Values.basic.namespace}}
1312
path: /jobs
1413
failurePolicy: Ignore
1514
name: validatejob.volcano.sh
@@ -36,7 +35,6 @@ webhooks:
3635
caBundle: ""
3736
service:
3837
name: {{ .Release.Name }}-admission-service
39-
namespace: {{.Values.basic.namespace}}
4038
path: /mutating-jobs
4139
failurePolicy: Ignore
4240
name: mutatejob.volcano.sh

installer/chart/volcano/templates/admission.yaml

-6
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,12 @@ apiVersion: v1
22
kind: ServiceAccount
33
metadata:
44
name: {{ .Release.Name }}-admission
5-
namespace: {{.Values.basic.namespace}}
65

76
---
87
kind: ClusterRole
98
apiVersion: rbac.authorization.k8s.io/v1
109
metadata:
1110
name: {{ .Release.Name }}-admission
12-
namespace: {{.Values.basic.namespace}}
1311
rules:
1412
- apiGroups: [""]
1513
resources: ["configmaps"]
@@ -26,11 +24,9 @@ kind: ClusterRoleBinding
2624
apiVersion: rbac.authorization.k8s.io/v1
2725
metadata:
2826
name: {{ .Release.Name }}-admission-role
29-
namespace: {{.Values.basic.namespace}}
3027
subjects:
3128
- kind: ServiceAccount
3229
name: {{ .Release.Name }}-admission
33-
namespace: {{.Values.basic.namespace}}
3430
roleRef:
3531
kind: ClusterRole
3632
name: {{ .Release.Name }}-admission
@@ -44,7 +40,6 @@ metadata:
4440
app: admission
4541
admission: "true"
4642
name: {{ .Release.Name }}-admission
47-
namespace: {{.Values.basic.namespace}}
4843
spec:
4944
replicas: 1
5045
selector:
@@ -89,7 +84,6 @@ metadata:
8984
labels:
9085
test: admission
9186
name: {{ .Release.Name }}-admission-service
92-
namespace: {{.Values.basic.namespace}}
9387
spec:
9488
ports:
9589
- port: 443

installer/chart/volcano/templates/controllers.yaml

-6
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,12 @@ apiVersion: v1
22
kind: ServiceAccount
33
metadata:
44
name: {{ .Release.Name }}-controllers
5-
namespace: {{.Values.basic.namespace}}
65

76
---
87
kind: ClusterRole
98
apiVersion: rbac.authorization.k8s.io/v1
109
metadata:
1110
name: {{ .Release.Name }}-controllers
12-
namespace: {{.Values.basic.namespace}}
1311
rules:
1412
- apiGroups: ["apiextensions.k8s.io"]
1513
resources: ["customresourcedefinitions"]
@@ -47,12 +45,9 @@ kind: ClusterRoleBinding
4745
apiVersion: rbac.authorization.k8s.io/v1
4846
metadata:
4947
name: {{ .Release.Name }}-controllers-role
50-
namespace: {{.Values.basic.namespace}}
5148
subjects:
5249
- kind: ServiceAccount
5350
name: {{ .Release.Name }}-controllers
54-
# replace with non-default namespace name
55-
namespace: default
5651
roleRef:
5752
kind: ClusterRole
5853
name: {{ .Release.Name }}-controllers
@@ -63,7 +58,6 @@ kind: Deployment
6358
apiVersion: apps/v1
6459
metadata:
6560
name: {{ .Release.Name }}-controllers
66-
namespace: {{.Values.basic.namespace}}
6761
spec:
6862
replicas: 1
6963
selector:

installer/chart/volcano/templates/scheduler.yaml

-6
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,12 @@ apiVersion: v1
22
kind: ServiceAccount
33
metadata:
44
name: {{ .Release.Name }}-scheduler
5-
namespace: {{.Values.basic.namespace}}
65

76
---
87
kind: ClusterRole
98
apiVersion: rbac.authorization.k8s.io/v1
109
metadata:
1110
name: {{ .Release.Name }}-scheduler
12-
namespace: {{.Values.basic.namespace}}
1311
rules:
1412
- apiGroups: ["apiextensions.k8s.io"]
1513
resources: ["customresourcedefinitions"]
@@ -56,12 +54,9 @@ kind: ClusterRoleBinding
5654
apiVersion: rbac.authorization.k8s.io/v1
5755
metadata:
5856
name: {{ .Release.Name }}-scheduler-role
59-
namespace: {{.Values.basic.namespace}}
6057
subjects:
6158
- kind: ServiceAccount
6259
name: {{ .Release.Name }}-scheduler
63-
# replace with non-default namespace name
64-
namespace: default
6560
roleRef:
6661
kind: ClusterRole
6762
name: {{ .Release.Name }}-scheduler
@@ -72,7 +67,6 @@ kind: Deployment
7267
apiVersion: apps/v1
7368
metadata:
7469
name: {{ .Release.Name }}-scheduler
75-
namespace: {{.Values.basic.namespace}}
7670
spec:
7771
replicas: 1
7872
selector:

installer/chart/volcano/values.yaml

-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
basic:
22
image_tag_version: "1.0"
3-
namespace: default
43
controller_image_name: "volcano-controllers"
54
scheduler_image_name: "volcano-scheduler"
65
admission_image_name: "volcano-admission"

0 commit comments

Comments
 (0)