Skip to content

Latest commit

 

History

History

workflow

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.