volcano.sh/volcano@v1.9.0/installer/README.md (about) 1 ## Volcano 2 3 Volcano is a batch system built on Kubernetes. It provides a suite of mechanisms currently missing from 4 Kubernetes that are commonly required by many classes of batch & elastic workload including: 5 6 1. machine learning/deep learning, 7 2. bioinformatics/genomics, and 8 3. other "big data" applications. 9 10 ## Prerequisites 11 12 - Kubernetes 1.12+ with CRD support 13 14 ## Installing volcano via yaml file 15 16 All-in-one yaml has been generated for quick deployment. Try command: 17 18 ```$xslt 19 kubectl apply -f volcano-v0.0.x.yaml 20 ``` 21 22 Check the status in namespace `volcano-system` 23 24 ```$xslt 25 $kubectl get all -n volcano-system 26 NAME READY STATUS RESTARTS AGE 27 pod/volcano-admission-56f5465597-2pbfx 1/1 Running 0 36s 28 pod/volcano-admission-init-pjgf2 0/1 Completed 0 36s 29 pod/volcano-controllers-687948d9c8-zdtvw 1/1 Running 0 36s 30 pod/volcano-scheduler-94998fc64-86hzn 1/1 Running 0 36s 31 32 33 NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE 34 service/volcano-admission-service ClusterIP 10.103.235.185 <none> 443/TCP 36s 35 36 37 NAME READY UP-TO-DATE AVAILABLE AGE 38 deployment.apps/volcano-admission 1/1 1 1 36s 39 deployment.apps/volcano-controllers 1/1 1 1 36s 40 deployment.apps/volcano-scheduler 1/1 1 1 36s 41 42 NAME DESIRED CURRENT READY AGE 43 replicaset.apps/volcano-admission-56f5465597 1 1 1 36s 44 replicaset.apps/volcano-controllers-687948d9c8 1 1 1 36s 45 replicaset.apps/volcano-scheduler-94998fc64 1 1 1 36s 46 ``` 47 48 ## Installing volcano via helm charts 49 50 To install the volcano with chart: 51 52 ```bash 53 helm install <specified-name> helm/chart/volcano --namespace <namespace> --create-namespace 54 55 e.g : 56 helm install volcano-trial helm/chart/volcano --namespace volcano-trial --create-namespace 57 ``` 58 59 This command deploys volcano in kubernetes cluster with default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation. 60 61 To list the volcano chart: 62 63 ```bash 64 helm list -n <namespace> 65 66 e.g: 67 helm list -n volcano-trial 68 ``` 69 70 ## Uninstalling the Chart 71 72 ```bash 73 $ helm delete volcano-release --purge 74 ``` 75 76 ## Configuration 77 78 The following are the list configurable parameters of Volcano Chart and their default values. 79 80 | Parameter|Description|Default Value| 81 |----------------|-----------------|----------------------| 82 |`basic.image_tag_version`| Docker image version Tag | `latest`| 83 |`basic.controller_image_name`|Controller Docker Image Name|`volcanosh/vc-controller-manager`| 84 |`basic.scheduler_image_name`|Scheduler Docker Image Name|`volcanosh/vc-scheduler`| 85 |`basic.admission_image_name`|Admission Controller Image Name|`volcanosh/vc-webhook-manager`| 86 |`basic.admission_secret_name`|Volcano Admission Secret Name|`volcano-admission-secret`| 87 |`basic.scheduler_config_file`|Configuration File name for Scheduler|`config/volcano-scheduler.conf`| 88 |`basic.image_pull_secret`|Image Pull Secret|`""`| 89 |`basic.image_pull_policy`|Image Pull Policy|`Always`| 90 |`basic.admission_app_name`|Admission Controller App Name|`volcano-admission`| 91 |`basic.controller_app_name`|Controller App Name|`volcano-controller`| 92 |`basic.scheduler_app_name`|Scheduler App Name|`volcano-scheduler`| 93 |`custom.metrics_enable`|Whether to Enable Metrics|`false`| 94 |`custom.admission_enable`|Whether to Enable Admission|`true`| 95 |`custom.admission_replicas`|The number of Admission pods to run|`1`| 96 |`custom.controller_enable`|Whether to Enable Controller|`true`| 97 |`custom.controller_replicas`|The number of Controller pods to run|`1`| 98 |`custom.scheduler_enable`|Whether to Enable Scheduler|`true`| 99 |`custom.scheduler_replicas`|The number of Scheduler pods to run|`1`| 100 |`custom.leader_elect_enable`|Whether to Enable leader elect|`false`| 101 |`custom.default_affinity`|Default affinity for Admission/Controller/Scheduler pods|`~`| 102 |`custom.admission_affinity`|Affinity for Admission pods|`~`| 103 |`custom.controller_affinity`|Affinity for Controller pods|`~`| 104 |`custom.scheduler_affinity`|Affinity for Scheduler pods|`~`| 105 |`custom.default_tolerations`|Default tolerations for Admission/Controller/Scheduler pods|`~`| 106 |`custom.admission_tolerations`|Tolerations for Admission pods|`~`| 107 |`custom.controller_tolerations`|Tolerations for Controller pods|`~`| 108 |`custom.scheduler_tolerations`|Tolerations for Scheduler pods|`~`| 109 |`custom.default_sc`|Default securityContext for Admission/Controller/Scheduler pods|`~`| 110 |`custom.admission_sc`|securityContext for Admission pods|`~`| 111 |`custom.controller_sc`|securityContext for Controller pods|`~`| 112 |`custom.scheduler_sc`|securityContext for Scheduler pods|`~`| 113 |`custom.default_ns`|Default nodeSelector for Admission/Controller/Scheduler pods|`~`| 114 |`custom.admission_ns`|nodeSelector for Admission pods|`~`| 115 |`custom.controller_ns`|nodeSelector for Controller pods|`~`| 116 |`custom.scheduler_ns`|nodeSelector for Scheduler pods|`~`| 117 |`custom.admission_podLabels`|Pod labels for Admission pods|`~`| 118 |`custom.controller_podLabels`|Pod labels for Controller pods|`~`| 119 |`custom.scheduler_podLabels`|Pod labels for Scheduler pods|`~`| 120 |`custom.admission_labels`|Labels for Admission deployment and job|`~`| 121 |`custom.controller_labels`|Labels for Controller deployment|`~`| 122 |`custom.scheduler_labels`|Labels for Scheduler deployment|`~`| 123 |`custom.admission_resources`|Resources for Admission pods|`~`| 124 |`custom.controller_resources`|Resources for Controller pods|`~`| 125 |`custom.scheduler_resources`|Resources for Scheduler pods|`~`| 126 |`custom.webhooks_namespace_selector_expressions`|Additional namespace selector expressions for Volcano admission webhooks|`~`| 127 128 Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, 129 130 ```bash 131 $ helm install --name volcano-release --set basic.image_pull_policy=Always volcano/volcano 132 ``` 133 134 The above command set image pull policy to `Always`, so docker image will be pulled each time. 135 136 Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example, 137 138 ```bash 139 $ helm install --name volcano-release -f values.yaml volcano/volcano 140 ``` 141 142 > **Tip**: You can use the default [values.yaml](chart/volcano/values.yaml)