이 repository는 GitOps에 대한 체계적인 학습을 위한 자료를 제공합니다.
GitOps의 기본 개념과 원칙을 학습합니다.
주요 내용:
GitOps 실습을 위한 Kubernetes 클러스터를 구성합니다.
주요 내용:
선언적 GitOps CD 도구인 ArgoCD를 학습합니다.
주요 내용:
CI/CD 파이프라인을 구축합니다.
주요 내용:
시크릿 관리 및 보안을 강화합니다.
주요 내용:
처음 시작하시는 분들을 위한 추천 학습 경로:
1. GitOps 이론 학습
└─> GitOps Cookbook 읽기
2. 실습 환경 구축
├─> Kubernetes 클러스터 구성 (Kind)
├─> Ingress Nginx 설치
└─> TLS 인증서 생성
3. CD 도구 학습
├─> ArgoCD 설치
├─> Repository 연동
└─> Application 배포 실습
4. CI 도구 학습
├─> Jenkins 설치
├─> Pipeline 작성
└─> 이미지 빌드 자동화
5. 보안 강화
└─> Vault로 시크릿 관리
이 학습 자료를 완료하면 다음과 같은 완전한 GitOps 워크플로우를 구현할 수 있습니다:
┌─────────────────────────────────────────────────────────────┐
│ GitOps Workflow │
└─────────────────────────────────────────────────────────────┘
1. Developer
└─> Git Push (소스 코드)
2. Jenkins (CI) ← 학습 항목
├─> 자동 빌드 트리거
├─> 테스트 실행
├─> Docker 이미지 빌드
├─> Container Registry에 푸시
└─> Manifest Repository 업데이트
3. ArgoCD (CD) ← 학습 항목
├─> Manifest 변경 감지
├─> Kubernetes와 비교
└─> 자동 배포
4. Vault (Secrets) ← 학습 항목
├─> Dynamic Secrets 생성
└─> Jenkins/Application에 주입
5. Kubernetes Cluster ← 학습 항목
└─> Application 실행
이 학습 자료는 다음 도서들을 참고하여 작성되었습니다:
# Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Docker Desktop
brew install --cask docker
# Kind
brew install kind
# kubectl
brew install kubectl
# Helm
brew install helm
# Git
brew install git
# Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# Kind
curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-linux-amd64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind
# kubectl
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x kubectl
sudo mv kubectl /usr/local/bin/
# Helm
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
gitops-demo/
├── docs/ # 모든 학습 문서
│ ├── 01-gitops-cookbook/ # GitOps 이론
│ ├── 02-kubernetes/ # Kubernetes 실습
│ ├── 03-argocd/ # ArgoCD 학습
│ ├── 04-jenkins/ # Jenkins 학습
│ ├── 05-vault/ # Vault 학습
│ └── 99-references/ # 참고 자료
│
├── examples/ # 실습 예제 (선택)
│ ├── kubernetes/
│ ├── argocd/
│ ├── jenkins/
│ └── vault/
│
└── README.md # 이 파일
git clone <repository-url>
cd gitops-demo
각 주제별 디렉토리에는 README.md가 있어 전체 목차와 학습 가이드를 제공합니다.
문서는 순서대로 번호가 매겨져 있어 단계적으로 학습할 수 있습니다.
examples/ 디렉토리의 예제 파일 활용이 repository는 GitHub Pages와 연동되어 있습니다.
웹에서 보기: https://<username>.github.io/<repository-name>/
모든 문서가 웹에서도 보기 좋게 렌더링됩니다.
이 학습 자료에 기여하고 싶으시다면:
This repository is for educational purposes.
Happy Learning! 🚀
GitOps를 통해 현대적인 클라우드 네이티브 애플리케이션 배포를 마스터하세요!