mirror of
https://github.com/kubevela/kubevela.git
synced 2026-05-14 05:16:49 +00:00
110 lines
2.1 KiB
Markdown
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. |