Files
kubevela/docs/examples/workflow
github-actions[bot] 2da80af3c4 [Backport release-1.1] Feat: add apply raw built in workflow steps (#2424)
* Feat: add apply raw built in workflow steps

(cherry picked from commit be68f388a2)

* Feat: add apply raw example

(cherry picked from commit 8243b6d916)

* Fix: change the name to apply object

(cherry picked from commit b996a04862)

* Fix: example server name

(cherry picked from commit 2341bf0f5a)

Co-authored-by: FogDong <dongtianxin.tx@alibaba-inc.com>
2021-10-09 12:21:28 +08:00
..
2021-09-24 16:31:39 +08:00
2021-09-18 14:40:08 +08:00
2021-09-18 14:40:08 +08:00
2021-09-18 14:40:08 +08:00
2021-08-11 16:30:16 +08:00

Install Definitions

kubectl apply -f definition.yaml

Check Component and Workflow definitions:

 kubectl get componentDefinition
 kubectl get workflowstep

Output:

 NAME              AGE
 singleton-server   49s

 NAME              AGE
 apply-component   49s
 apply-with-ip      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
    server1    1/1     Running   0          15s
    server2    1/1     Running   0          18s
    

    This means the resource has been rendered correctly.

  4. Check server2 Environment variable

    kubectl exec server2 -- 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.