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  ```