Installation

This document guides how to install the v1.10.0 version of version.

Prerequisites

  • Kubernetes 1.12+ with CRD support.

Installation Modes

  • Install with YAML files
  • Install from code
  • Install with Helm

Install with YAML files

Install Volcano on an existing Kubernetes cluster. This way is both available for x86_64 and arm64 architecture.

kubectl apply -f https://raw.githubusercontent.com/volcano-sh/volcano/release-1.10/installer/volcano-development.yaml

Install from code

If you don’t have a Kubernetes cluster, try one-click install from code base.This way is only available for x86_64 temporarily.

git clone -b release-1.10 https://github.com/volcano-sh/volcano.git

cd volcano

./hack/local-up-volcano.sh

Install with Helm

Helm is downloaded and installed for your cluster. For details on how to install the Helm, click here.

Use Helm charts to install Volcano with the following command.

helm repo add volcano-sh https://volcano-sh.github.io/helm-charts

helm repo update

helm install volcano volcano-sh/volcano --version 1.10.0 -n volcano-system --create-namespace

The output is as follows after executing the above command.

NAME: volcano
LAST DEPLOYED: Tue May 21 15:28:22 2024
NAMESPACE: volcano-system
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Thank you for installing volcano.

Your release is named volcano.

For more information on volcano, visit:
https://volcano.sh/

Verify status of Volcano components.

kubectl get all -n volcano-system
NAME                                       READY   STATUS      RESTARTS   AGE
pod/volcano-admission-5bd5756f79-p89tx     1/1     Running     0          6m10s
pod/volcano-admission-init-d4dns           0/1     Completed   0          6m10s
pod/volcano-controllers-687948d9c8-bd28m   1/1     Running     0          6m10s
pod/volcano-scheduler-94998fc64-9df5g      1/1     Running     0          6m10s


NAME                                TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)   AGE
service/volcano-admission-service   ClusterIP   10.96.140.22   <none>        443/TCP   6m10s


NAME                                  READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/volcano-admission     1/1     1            1           6m10s
deployment.apps/volcano-controllers   1/1     1            1           6m10s
deployment.apps/volcano-scheduler     1/1     1            1           6m10s

NAME                                             DESIRED   CURRENT   READY   AGE
replicaset.apps/volcano-admission-5bd5756f79     1         1         1       6m10s
replicaset.apps/volcano-controllers-687948d9c8   1         1         1       6m10s
replicaset.apps/volcano-scheduler-94998fc64      1         1         1       6m10s



NAME                               COMPLETIONS   DURATION   AGE
job.batch/volcano-admission-init   1/1           28s        6m10s

After the configuration is complete, you can use Volcano to deploy the AI/ML and big data workloads.