Argo Workflows 입문 학습 노트
Argo Workflows hello-world 예제를 뜯어보며 CRD 동작 원리와 입문 함정을 정리한 관찰자 시점 학습 문서
개요
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일 에 자동 분석으로 생성되었습니다.