클라우드 네이티브 배포

궁극의 영역입니다. GitHub Actions 를 사용한 테스트 자동화, Terraform 을 사용한 인프라 프로비저닝, Kubernetes 배포, 그리고 Python 을 이용한 전체 오케스트레이션을 포함하는 완벽한 클라우드 네이티브 딜리버리 파이프라인을 구축하게 됩니다.

DevOps EngineerKubernetesDevOpsPython

💡 이 튜토리얼은 영어로 번역되었습니다. 원본을 보려면 영어로 전환

소개

클라우드 네이티브 전달은 CI 정의, Infrastructure as Code, 선언적 Orchestration, 운영 데이터 처리를 결합합니다. 이 챌린지형 프로젝트에서는 준비된 로컬 환경의 구체적 산출물로 각 형태를 시험합니다.

GitHub Actions Workflow, Terraform Docker Container, 다중 Resource Kubernetes Manifest, Python Access Log Analyzer를 만듭니다. 단계는 전달이라는 주제를 공유하지만 연결된 프로덕션 Pipeline이 아닌 독립 검증 연습입니다.

학습 내용

  • main Push에서 Checkout, Node Setup, Install, Test를 실행하는 Node.js CI Workflow 정의하기
  • Terraform Docker Provider를 구성하고 terraform-web Nginx Container를 8080:80으로 만들기
  • Terraform을 Init·Apply하고 Docker와 HTTP로 로컬 Container 검증하기
  • 3개의 nginx:alpine Replica와 일치하는 Label·Selector를 가진 Kubernetes Deployment 적용하기
  • NodePort Service로 Workload를 노출하고 로컬 Cluster의 두 Resource 확인하기
  • Python으로 준비된 Log의 첫 Field IP를 Set으로 중복 제거하고 개수 출력하기

추천 대상

단계별 명령 없이 입문 CI, Terraform, Kubernetes, Python을 적용할 DevOps 학습자에게 적합합니다.

선수 지식: YAML, GitHub Actions 구조, Terraform Provider·Resource, Docker Port, Kubernetes Deployment·Service, Python File Iteration·Set, Linux Terminal에 익숙해야 하는 평가형 프로젝트입니다.

학습 환경: Docker, Terraform, 로컬 Minikube, kubectl, Python 3, Node.js Project Context, 준비된 Log가 있는 브라우저 기반 Linux이며 Cloud Account나 GitHub Push는 필요하지 않습니다.

자주 묻는 질문

Workflow가 실제 GitHub에서 실행되나요?

아니요. .github/workflows/ci.yml을 로컬에서 만들고 검증합니다. Push, Hosted Runner, 원격 npm test 성공 확인은 없습니다.

Terraform이 Cloud Infrastructure를 프로비저닝하나요?

아니요. kreuzwerker/docker로 로컬 nginx:latest Container 하나를 실행합니다. Cloud Provider, Remote State, Module, 프로덕션 Network는 범위 밖입니다.

Kubernetes가 Terraform Container나 CI와 연결되나요?

아니요. 별도 Minikube 연습으로 3 Replica와 NodePort를 만듭니다. Pipeline은 배포하지 않고 Terraform도 관리하지 않습니다.

Python Automation은 무엇을 하나요?

access.log 첫 Field를 읽고 Set으로 고유 IP를 세어 Unique IPs: 10을 출력합니다. Log Stream, API 호출, Infrastructure 변경은 하지 않습니다.

강사

labby
Labby
Labby is the LabEx teacher.

추천 코스

no data