volcano.sh/volcano@v1.9.0/example/jobflow/README.md (about) 1 ## JobFlow 2 3 #### These examples shows how to run JobFlow via Volcano. 4 5 [JobFlow](../../docs/design/jobflow) is a workflow engine based on volcano Job. It proposes two concepts to automate running multiple batch jobs, named JobTemplate and JobFlow, so end users can easily declare their jobs and run them using complex control primitives such as sequential or parallel execution, if-then -else statement, switch-case statement, loop execution, etc. 6 7 read design at [here](../../docs/design/jobflow). 8 9 ### Prerequisites 10 11 - docker: `18.06` 12 - Kubernetes: >`1.17` 13 14 ## startup steps 15 16 build image from local 17 ```bash 18 # get volcano and jobflow source code from github 19 git clone http://github.com/volcano-sh/volcano.git 20 git clone https://github.com/BoCloud/JobFlow.git 21 22 # build image beyondcent/jobflow:v0.0.1 from local 23 cd JobFlow 24 make 25 make docker-build 26 ``` 27 28 ##### deploy JobFlow from [here](https://github.com/BoCloud/JobFlow#deploy) 29 ```bash 30 kubectl apply -f https://raw.githubusercontent.com/BoCloud/JobFlow/main/deploy/jobflow.yaml 31 ``` 32 33 ##### deploy Volcano from [here](https://volcano.sh/en/docs/installation/#install-with-yaml-files) 34 ```bash 35 kubectl apply -f https://raw.githubusercontent.com/volcano-sh/volcano/master/installer/volcano-development.yaml 36 ``` 37 38 if cert of `jobflow-webhook-service.kube-system.svc` has expired, generate one to replace it. 39 ```bash 40 # delete expired cert in secrets 41 kubectl delete secret jobflow-webhook-server-cert -nkube-system 42 43 # use gen-admission-secret.sh register new secret 44 cd volcano 45 ./installer/dockerfile/webhook-manager/gen-admission-secret.sh --service jobflow-webhook-service --namespace kube-system --secret jobflow-webhook-server-cert 46 47 # restart jobflow-controller-manager 48 kubectl delete pod/jobflow-controller-manager-67847d59dd-j8dmc -nkube-system 49 ``` 50 51 ##### run jobflow example 52 ```bash 53 # deploy jobTemplate first 54 cd volcano 55 kubectl apply -f example/jobflow/JobTemplate.yaml 56 # deploy jobFlow second 57 kubectl apply -f example/jobflow/JobFlow.yaml 58 59 # check them 60 kubectl get jt 61 kubectl get jf 62 kubectl get po 63 ```