Files
kubevela/docs/examples/workflow/README.md
2021-08-11 16:30:16 +08:00

110 lines
2.1 KiB
Markdown

## 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:
```yaml
...
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
```
2. 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.
3. 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.