Files
kubevela/docs/examples/workflow
Jian.Li 4481e7637d Optimize Workflow (#1978)
* open op.#Steps

* export

* fmt code

* fix bug & upgrade workflow doc

* fmt

* upgrade test coverage

* upgrade test coverage
2021-07-29 11:35:22 +08:00
..
2021-07-29 11:35:22 +08:00
2021-07-29 11:35:22 +08:00
2021-07-23 11:21:48 +08:00

Install Definitions

kubectl apply -f definition.yaml

Check Component and Workflow definitions:

 kubectl get componentDefinition
 kubectl get workflowstep

Output:

 NAME              AGE
 singletonServer   41s

 NAME    AGE
 apply   49s

Begin The Workflow Demo

This Demo is to apply component in the cluster in order by workflow, and inject the IP of the previous pod into the environment variables of the next Pod.

  1. Apply Application:

    kubectl apply -f app.yaml
    
  2. Check workflow status in Application:

    kubectl get -f app.yaml
    

    Output:

    ...
    status:  
      workflow:
        appRevision: application-sample-v1
        contextBackend:
          apiVersion: v1
          kind: ConfigMap
          name: workflow-application-sample-v1
          uid: 783769c9-0fe1-4686-8528-94ce2887a5f8
        stepIndex: 2
        steps:
        - name: deploy-server1
          phase: succeeded
          resourceRef:
            apiVersion: ""
            kind: ""
            name: ""
          type: apply
        - name: deploy-server2
          phase: succeeded
          resourceRef:
            apiVersion: ""
            kind: ""
            name: ""
          type: apply
    
    
  3. Check Resource in cluster.

    kubectl get pods
    

    Output:

    NAME       READY   STATUS    RESTARTS   AGE
    firstApp   1/1     Running   0          15s
    secondApp  1/1     Running   0          18s
    

    This means the resource has been rendered correctly.

  4. Check secondApp Environment variable

    kubectl exec secondApp -- env|grep PrefixIP
    

    Output:

    PrefixIP=10.244.0.22
    

WorkflowStep Definition Introduction.

WorkflowStep consists of a series of actions, you can describe the actions to be done step by step in WorkflowStep Definition.

  1. op.#Load Get component schema from workflow context
  2. op.#Apply Apply schema to cluster.
  3. op.#ConditionalWait Condition waits until continue is true.
  4. op.#Export Export data to workflow context.