Skip to content

NimTechnology

Trình bày các công nghệ CLOUD một cách dễ hiểu.

  • Kubernetes & Container
    • Docker
    • Kubernetes
      • Ingress
      • Pod
    • Helm Chart
    • OAuth2 Proxy
    • Isito-EnvoyFilter
    • Apache Kafka
      • Kafka
      • Kafka Connect
      • Lenses
    • Vault
    • Longhorn – Storage
    • VictoriaMetrics
    • MetalLB
    • Kong Gateway
  • CI/CD
    • ArgoCD
    • ArgoWorkflows
    • Argo Events
    • Spinnaker
    • Jenkins
    • Harbor
    • TeamCity
    • Git
      • Bitbucket
  • Coding
    • DevSecOps
    • Terraform
      • GCP – Google Cloud
      • AWS – Amazon Web Service
      • Azure Cloud
    • Golang
    • Laravel
    • Python
    • Jquery & JavaScript
    • Selenium
  • Log, Monitor & Tracing
    • DataDog
    • Prometheus
    • Grafana
    • ELK
      • Kibana
      • Logstash
  • BareMetal
    • NextCloud
  • Toggle search form

[Argo-Workflows] Lesson3: Argo CLI and Input Parameters

Posted on January 6, 2022January 7, 2022 By nim No Comments on [Argo-Workflows] Lesson3: Argo CLI and Input Parameters

Bài của chúng ta hôm nay là sử dụng Argo CLI trên máy client và đưa data vào input Workflows

Contents

Toggle
  • Install Argo CLI to your machine.
  • Input Parameters

Install Argo CLI to your machine.

Đâu tiên chúng ta cài đặt và tìm hiều Argo CLI
https://github.com/argoproj/argo-workflows/releases

Nếu như mình run trên linux:

# Download the binary
curl -sLO https://github.com/argoproj/argo-workflows/releases/download/v3.2.6/argo-linux-amd64.gz

# Unzip
gunzip argo-linux-amd64.gz

# Make binary executable
chmod +x argo-linux-amd64

# Move binary to path
mv ./argo-linux-amd64 /usr/local/bin/argo

# Test installation
argo version

Input Parameters

Ý tưởng là chúng đưa data vào file yaml workflows và truyền vào trong pod

apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  name: wf-dag-templates
spec:
  entrypoint: dag-templates
  arguments:
    parameters:
    - name: message1
      value: Task 1 is executed
    - name: message2
      value: Task 2 is executed
    - name: message3
      value: Task 3 is finished
    - name: message4
      value: That's it with tasks 4

  templates:
  - name: dag-templates
    inputs:
      parameters:
        - name: message1
        - name: message2
        - name: message3
        - name: message4
    dag:
      tasks:
      - name: Task1
        arguments:
          parameters: [{name: text, value: "{{inputs.parameters.message1}}"}]
        template: task-template
      - name: Task2
        arguments:
          parameters: [{name: text, value: "{{inputs.parameters.message2}}"}]
        template: task-template
        dependencies: [Task1]
      - name: Task3
        arguments:
          parameters: [{name: text, value: "{{inputs.parameters.message3}}"}]
        template: task-template
        dependencies: [Task1]
      - name: Delay
        template: deylay-template
        dependencies: [Task2, Task3]
      - name: Task4
        arguments:
          parameters: [{name: text, value: "{{inputs.parameters.message4}}"}]
        template: task-template
        dependencies: [Delay]

  - name: task-template
    inputs:
      parameters:
      - name: text
    script:
      image: python:3.8-slim
      command: [python]
      source: |
        p = "{{inputs.parameters.text}}"
        print(p)

  - name: deylay-template
    suspend:
      duration: "10s"

GIờ mình giải thích 1 chút

Vì chúng ta đã cái argo cli thì câu lệnh apply như sau:
argo -n argo submit wf-input-param.yaml

Bạn thấy output ra nhiều thông tin hơn.

root@work-space-u20:~/mylab-helm-chart/argo-wfs/lesson4# argo -n argo submit wf-input-param.yaml 
Name:                wf-dag-templates
Namespace:           argo
ServiceAccount:      default
Status:              Pending
Created:             Thu Jan 06 16:24:50 +0000 (now)
Progress:            
Parameters:          
  message1:          Task 1 is executed
  message2:          Task 2 is executed
  message3:          Task 3 is finished
  message4:          That's it with tasks 4

This workflow does not have security context set. You can run your workflow pods more securely by setting it.
chúng ta viewlog các task sem có j đặc biệt
task 1 print data của task 1
Các này show log của tất cả các pod python
ArgoWorkflows

Post navigation

Previous Post: [Spinnaker/K8s] Add many Kubernetes clusters into spinnaker.
Next Post: [Argo-Workflows] Lesson4: Script result – receive the output result of another task to make the input parameter.

More Related Articles

[Argo-Workflows] Lesson7: Artifact ArgoWorkflows
[Argo Event] Building webhook trigger for any action by argo-event. Argo Events
[Argo-Workflows] Lesson23: Creating a Master Workflow ArgoWorkflows
[Argo-Workflows] Lesson20: Cron Workflow ArgoWorkflows
[Argo-Workflows] Lesson14: Dynamic Loops ArgoWorkflows
[Argo-Workflows] Lesson6: Output Parameter File ArgoWorkflows

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Tham Gia Group DevOps nhé!
Để Nim có nhiều động lực ra nhiều bài viết.
Để nhận được những thông báo mới nhất.

Recent Posts

  • [Azure] The subscription is not registered to use namespace ‘Microsoft.ContainerService’ May 8, 2025
  • [Azure] Insufficient regional vcpu quota left May 8, 2025
  • [WordPress] How to add a Dynamic watermark on WordPress. May 6, 2025
  • [vnet/Azure] VNet provisioning via Terraform. April 28, 2025
  • [tracetcp] How to perform a tracert command using a specific port. April 3, 2025

Archives

  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • March 2023
  • February 2023
  • January 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • July 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021

Categories

  • BareMetal
    • NextCloud
  • CI/CD
    • Argo Events
    • ArgoCD
    • ArgoWorkflows
    • Git
      • Bitbucket
    • Harbor
    • Jenkins
    • Spinnaker
    • TeamCity
  • Coding
    • DevSecOps
    • Golang
    • Jquery & JavaScript
    • Laravel
    • NextJS 14 & ReactJS & Type Script
    • Python
    • Selenium
    • Terraform
      • AWS – Amazon Web Service
      • Azure Cloud
      • GCP – Google Cloud
  • Kubernetes & Container
    • Apache Kafka
      • Kafka
      • Kafka Connect
      • Lenses
    • Docker
    • Helm Chart
    • Isito-EnvoyFilter
    • Kong Gateway
    • Kubernetes
      • Ingress
      • Pod
    • Longhorn – Storage
    • MetalLB
    • OAuth2 Proxy
    • Vault
    • VictoriaMetrics
  • Log, Monitor & Tracing
    • DataDog
    • ELK
      • Kibana
      • Logstash
    • Fluent
    • Grafana
    • Prometheus
  • Uncategorized
  • Admin

Copyright © 2025 NimTechnology.