github.com/oam-dev/kubevela@v1.9.11/docs/examples/imagepulljob/README.md (about)

     1  This example shows how to use imagePullJob as a workflow step in an application deployment.
     2  
     3  ## Install Definitions
     4  
     5    install openkruise:
     6      ```
     7      vela addon enable kruise
     8      ```
     9    or install openkruise manully
    10      ```
    11      helm install kruise https://github.com/openkruise/kruise/releases/download/v0.9.0/kruise-chart.tgz --set featureGates="PreDownloadImageForInPlaceUpdate=true"
    12      kubectl apply -f kubevela/vela-templates/addons/kruise/definitions/imagepulljob-step.yaml
    13      ```
    14  
    15    Pre-download workflow step should be installed successfully at present. Check Component and Workflow definitions:
    16      ```
    17      kubectl get workflowstep
    18      ```
    19  
    20    Output:
    21      ```
    22      NAME              AGE
    23      predownloadimage  49s
    24      ```
    25  
    26    Install another workflow step that need to be performed after pre-download image:
    27      ```
    28      kubectl apply -f applydemo-definition.yaml
    29      ```
    30  
    31    apply(Nginx) workflow step should be installed successfully at present. Check Component and Workflow definitions:
    32      ```
    33      kubectl get workflowstep
    34      ```
    35  
    36    Output:
    37      ```
    38      NAME              AGE
    39      predownloadimage  49s
    40      apply             49s
    41      ```
    42  
    43  
    44  ## Begin The Workflow Demo
    45  
    46  This Demo is to apply pull image for nginx first and that start a nginx application.
    47  
    48  
    49  1. Apply Application:
    50      ```
    51      kubectl apply -f basic_image_pull.yaml
    52      ```
    53  
    54  
    55  2. Check workflow status in Application:
    56      ```
    57      kubectl get application pullimage-sample -o yaml
    58      ```
    59  
    60      Output:
    61      ```yaml
    62      ...
    63      apiVersion: core.oam.dev/v1beta1
    64      kind: Application
    65      metadata:
    66        ...
    67      spec:
    68        components:
    69        - name: nginx
    70          properties:
    71            image: nginx:1.9.1
    72            port: 80
    73          type: webservice
    74        workflow:
    75          steps:
    76          - name: pullimage
    77            properties:
    78              image: nginx:1.9.1
    79              kvs:
    80                kubernetes.io/os: linux
    81              parallel: 3
    82            type: predownloadimage
    83          - name: deploy-remaining
    84            properties:
    85              component: nginx
    86            type: apply
    87      status:
    88        ...
    89        services:
    90        - healthy: true
    91          name: nginx
    92          workloadDefinition:
    93            apiVersion: apps/v1
    94            kind: Deployment
    95        status: running
    96        workflow:
    97          appRevision: pullimage-sample-v1
    98          contextBackend:
    99            kind: ConfigMap
   100            name: workflow-pullimage-sample-v1
   101          stepIndex: 2
   102          steps:
   103          - name: pullimage
   104            phase: succeeded
   105            resourceRef: {}
   106            type: predownloadimage
   107          - name: deploy-remaining
   108            phase: succeeded
   109            resourceRef: {}
   110            type: apply
   111          suspend: false
   112          terminated: true
   113        ```
   114      In Above "workflow:" fields. you can see that two steps all in phase succeeded, which means these two steps have been performed successfully.
   115  
   116  2. Check Resource in cluster.
   117  
   118      ```
   119      kubectl get imagepulljob
   120      kubectl get pods
   121      ```
   122  
   123      Output:
   124  
   125      ```
   126      NAME             TOTAL   ACTIVE   SUCCEED   FAILED   AGE   MESSAGE
   127      pull-image-job   3       0        3         0        19s   job is running, progress 0.0%
   128      ```
   129  
   130      ```
   131      NAME                      READY   STATUS    RESTARTS   AGE
   132      nginx-868d6c9dc7-kmgvs    1/1     Running   0          55s
   133      ```
   134  
   135    The above step shows how to use workflow step to start a deployment.