실습
Introduction
Helm이 설치되어 있는지 확인
Helm이 설치되저 있지 않을 경우 Helm 설치
Helm 명령어 목록 확인 - https://helm.sh/docs/helm/helm/
Helm 명령어를 통해서 Artifact Hub에 등록된 차트중에서 ArgoCD 차트 검색
Artifact Hub 사이트에서 ArgoCD 차트 검색 - https://artifacthub.io/
Google을 통해서 ArgoCD Helm 차트 검색 - https://www.google.com/search?q=argocd+helm+chart
ArgoCD 차트가 저장되어져 있는 리포지토리 추가
리포지토리 목록 확인
위에서 추가한 리포지토리에서 제공하는 차트 목록 확인
Helm 리포지토리 정보가 저장된 파일 확인
위에서 추가한 리포지토리에서 제공하는 차트 정보가 저장된 파일 확인
리포지토리 삭제
리포지토리 및 차트 정보가 저장된 파일이 같이 삭제 되었는지 확인
ArgoCD 차트가 저장되어져 있는 리포지토리 추가
리포지토리 목록 확인
위에서 추가한 리포지토리에서 제공하는 차트 목록 확인
리포지토리 및 차트 정보가 저장된 파일을 강제로 삭제
리포지토리 목록 확인
ArgoCD 차트 설치 방법 확인 - https://artifacthub.io/packages/helm/argo/argo-cd?modal=install
ArgoCD 차트를 설치할 Namespace 생성
ArgoCD 차트 설치
설치된 Helm 차트(release) 목록 확인
모든 네임스페이스에 생성된 Helm 배포 목록 확인
생성된 객체 확인
ArgoCD 차트에 포함된 템플릿 확인 - https://artifacthub.io/packages/helm/argo/argo-cd?modal=template
차트 설치(업그레이드)에 사용된 변수 확인
차트에 적용된 기본 변수 확인 - https://artifacthub.io/packages/helm/argo/argo-cd?modal=values
ArgoCD 서버의 서비스 유형을 LoadBalacer로 변경해서 차트 업그레이드
ArgoCD 서버의 서비스 유형이 변경되었는지 확인
차트 설치(업그레이드) 할때 덮어쓰기된 변수 확인
차트 설치(업그레이드)에 사용된 변수 확인
차트 설치(업그레이드)에 사용된 쿠버네티스 객체 명세 파일(Manifest) 확인
Helm 차트 삭제
쿠버네티스 객체도 같이 삭제되었는지 확인
Argocd 설치에 사용한 리포지토리의 인덱스 파일 확인
Argocd 설치에 사용한 리포지토리의 인덱스 파일 다운로드
위의 2개 파일 비교
위에서 다운받은 인덱스 파일을 통해서 최신 버전의 ArgoCD 차트 정보 확인
최신 버전의 ArgoCD 차트를 다운로드 받을수 있는 경로 확인
해당 차트가 로컬 캐시에 다운로드 되어져 있는지 확인
차트 다운로드
차트 설치
설치된 Helm 차트(release) 목록 확인
Helm 차트가 설치된 네임스페이스에 있는 Secret 객체 확인
helm.sh/release.v1
유형의 Secret 내용 확인Data에 저장된 내용 확인
helm.sh/release.v1
유형의 Secret 삭제설치된 Helm 차트(release) 목록 확인
생성된 Pod 목록 확인
Helm 차트 재설치
Pod들이 새로 생성되었는지 확인
Helm 배포 삭제
리소스가 삭제 되었는지 확인
설치된 Helm 차트(release) 목록 확인
Namespace 삭제
Helm charts - Part 1
Helm 차트를 저장할 디렉토리를 생성하고 해당 디렉토리로 이동
Chart.yaml 파일 생성
차트에 포함될 YAML 파일을 저장할 디렉토리 생성
ConfigMap을 명시할 YAML 파일 생성
ServiceAccount를 명시할 YAML 파일 생성
Deployment를 명시할 YAML 파일 생성
Service를 명시할 YAML 파일 생성
templates 디렉토리 안에 생성된 파일 확인
차트 배포
배포된 차트 목록 확인
생성된 리소스 확인
Helm을 통해서 생성된 리소스에 부여된 Label 확인
데모 애플리케이션이 정상적으로 배포되었는지 확인
deployment.yaml 파일에 명시된 replicas 확인
replicas의 값을 3으로 변경
replicas의 값이 변경되었는지 확인
위에서 수정한 변경분을 반영
생성된 Deployment의 Replica 갯수 확인
Pod 갯수 확인
배포된 차트의 기록 확인
이번 버전으로 롤백
생성된 Deployment의 Replica 갯수 확인
Pod 갯수 확인
배포된 차트의 기록 확인
Helm 배포 삭제
리소스가 삭제 되었는지 확인
배포된 차트 목록 확인
차트에 주입할 파라미터들의 기본값들을 명시할 values.yaml 파일 생성
Deployment에 명시할 replica 값을 values.yaml 파일에 변수로 지정
Deployment를 명시한 YAML 파일 수정
차트 배포
생성된 Deployment의 Replica 갯수 확인
replicaCount를 Helm 명령어에 파라미터로 명시하고 차트 업그레이드
Deployment의 Replica 갯수 확인
values_dev.yaml 이라는 이름으로 파일을 생성하고 변수 명시
위에서 생성한 파일을 Helm 명령어에 파라미터로 명시하고 차트 업그레이드
Deployment의 Replica 갯수 확인
차트 삭제
Helm charts - Part 2
Helm 차트 생성
생성된 차트 내용 확인
NGINX 애플리케이션 배포에 사용할 변수 생성
Apache 애플리케이션 배포에 사용할 변수 파일 생성
위에서 생성한 Helm 차트와 변수 파일을 통해서 NGINX 애플리케이션 배포
위에서 생성한 Helm 릴리즈를 통해서 생성된 객체 확인
위에서 생성한 Helm 차트와 변수 파일을 통해서 Apache 애플리케이션 배포
위에서 생성한 Helm 릴리즈를 통해서 생성된 객체 확인
배포된 애플리케이션 목록 확인
애플리케이션 삭제
위에서 생성한 Helm 차트를 GitHub 리포지토리에 업로드 - https://github.com/youngwjung/helm-chart-frontend
ArgoCD 설치
ArgoCD 어드민 비밀번호 확인
ArgoCD 접속 URL 확인 후 ArgoCD에 로그인
ArgoCD 애플리케이션 생성 - NGINX
ArgoCD에서 애플리케이션이 정상 생성되었는지 확인
ArgoCD 애플리케이션 생성 - Apache
ArgoCD에서 애플리케이션이 정상 생성되었는지 확인
templates 디렉토리 하위에 있는 deployment.yaml 파일을 아래와 같이 수정하고 커밋
수정 사항이 각각의 애플리케이션에 반영 되었는지 확인
ArgoCD에 생성한 애플리케이션 삭제
애플리케이션 변수 파일을 저장할 디렉토리를 생성하고 변수 파일을 이동
GitHub 리포지토리를 생성하고 변수 파일들을 업로드 - https://github.com/youngwjung/helm-chart-frontend-values
Chart.yaml을 열고 버전을 1.0.0으로 수정
Helm 차트 패키지 생성
Helm 차트를 저장할 ECR 리포지토리 생성
ECR 리포지토리 로그인
Helm 차트 업로드
차트가 정상적으로 업로드 되었는지 확인
ArgoCD에 ECR 리포지토리 자격증명 등록
ArgoCD 애플리케이션 생성 - NGINX
ArgoCD에서 애플리케이션이 정상 생성되었는지 확인
ArgoCD 애플리케이션 생성 - Apache
ArgoCD에서 애플리케이션이 정상 생성되었는지 확인
templates 디렉토리 하위에 있는 deployment.yaml 파일을 아래와 같이 수정
Chart.yaml을 열고 버전을 1.0.1으로 수정
Helm 차트 패키지 생성
Helm 차트 업로드
차트가 정상적으로 업로드 되었는지 확인
ArgoCD UI에서 Apache 애플리케이션의 차트 버전을 1.0.1로 수정
애플리케이션이 정상 업그레이드 되는지 확인
리소스 삭제
Last updated