정지용
프로젝트 목록
학습

Argo Workflows 입문 학습 노트

Argo Workflows hello-world 예제를 뜯어보며 CRD 동작 원리와 입문 함정을 정리한 관찰자 시점 학습 문서

argo-test-docs최근 업데이트 2026년 5월 13일

개요

Kubernetes 위에서 컨테이너 기반 워크플로를 실행하는 Argo Workflows 를 hello-world YAML 한 줄부터 뜯어보며 정리한 학습 노트다. Workflow CRD 의 라이프사이클(controller reconcile 루프 → Pod 생성 → status 업데이트), template 종류(container/steps/dag/resource/suspend), Workflow·CronWorkflow·WorkflowTemplate 의 차이를 아키텍처 문서로 정리했다. 입문 단계에서 흔히 겪는 함정 — namespace 불일치, kubectl apply 대신 argo submit 권장, Pod 생성 지연, TTL 미설정으로 인한 CR 누적, private 이미지 pull secret 필요 — 을 별도로 정리했고, 클러스터 사전 조건과 Airflow/Tekton/GitHub Actions 와의 대안 비교도 함께 다룬다. 실제 코드가 아닌 순수 문서(docs-only) 레포로, 처음 Argo Workflows 를 접하는 사람이 개념을 빠르게 잡을 수 있도록 구성했다.

담당 역할

Argo Workflows 를 처음 학습하며 공식 hello-world 예제를 직접 분석하고, CRD 구조·라이프사이클·흔한 함정을 관찰자 시점으로 문서화했다.

아키텍처 다이어그램

레포지토리 분석 결과를 바탕으로 자동 생성된 구조도입니다.

아키텍처

Workflow 라이프사이클

kubectl apply 로 생성된 Workflow CR 이 controller 의 reconcile 루프를 거쳐 Pod 실행과 status 업데이트로 이어지는 흐름

다이어그램을 그리는 중…
흐름도

Workflow 종류와 재사용 관계

단발성 Workflow 와 반복 실행되는 CronWorkflow, 재사용 가능한 WorkflowTemplate 의 관계를 정리

다이어그램을 그리는 중…

기술스택

각 기술을 이 프로젝트에서 어떤 용도로 썼는지 정리했습니다.

인프라

  • Argo WorkflowsKubernetes 네이티브 워크플로 엔진, CRD 기반 학습 대상
  • KubernetesWorkflow CRD 와 controller 가 동작하는 클러스터 환경

도구

  • YAMLWorkflow 매니페스트 정의

핵심 포인트

  • hello-world YAML 을 줄 단위로 분석해 CRD 필드의 역할을 구체적으로 설명
  • Workflow 생성부터 status 업데이트까지 controller reconcile 흐름을 다이어그램으로 정리
  • Workflow / CronWorkflow / WorkflowTemplate 의 실행 방식 차이를 명확히 구분
  • namespace 불일치, TTL 미설정 등 입문자가 실제로 겪는 함정을 근거와 함께 정리
  • Airflow, Tekton, GitHub Actions 와의 강약점을 표로 비교

문제와 해결

문제Workflow 를 생성해도 Pod 이 즉시 안 만들어져 실패한 것처럼 보이는 현상

해결controller 가 reconcile 루프에서 CR 을 처리한 뒤에야 Pod 이 생성되는 비동기 모델임을 이해하고, 수 초의 지연을 정상 동작으로 문서화

문제완료된 Workflow CR 이 자동 삭제되지 않아 namespace 에 누적되는 문제

해결spec.ttlStrategy 또는 controller 의 workflowDefaults 로 TTL 을 설정해야 함을 정리

문제controller 가 argo 네임스페이스만 watch 하도록 구성돼 다른 네임스페이스의 Workflow 가 reconcile 되지 않는 문제

해결cluster-wide controller 로 재구성하거나 Workflow 를 argo 네임스페이스에 통일해서 생성하는 방식으로 정리

레포지토리 정보

생성
2026년 5월 13일
최근 커밋
2026년 5월 13일
크기
4 KB
라이선스
없음

이 문서는 2026년 7월 26일 에 자동 분석으로 생성되었습니다.