출처
Helm 구성
- Charts
yaml 파일을 묶어서 정의한 package입니다. kubernetes app 빌드를 위한 리소스가 정의되어 있습니다. - Repository
생성된 차트들의 저장소입니다. - Release
kubernetes 클러스터에 로드된 chart instance들의 버전입니다. chart로 배포된 app들은 각각 고유한 버전을 갖고 있습니다.
Helm Chart
파일 / 폴더 | 기술 |
---|---|
Chart.yaml | 차트에 대한 정보가 포함 된 YAML 파일입니다. yaml 파일을 묶어서 정의한 package입니다. kubernetes app 빌드를 위한 리소스가 정의되어 있습니다. |
values.yaml | 차트의 기본 구성 값입니다. |
templates/ | 차트의 배포 템플릿이 포함 된 폴더입니다. |
LICENSE | 차트에 대한 라이센스가 포함 된 일반 텍스트 파일입니다. |
README.md | 차트 사용 방법에 대한 지침이 포함 된 마크 다운 파일입니다. |
values.schema.json ** | values.yaml 파일에 구조를 적용하기위한 스키마 파일입니다. |
charts/ | 기본 차트에 대한 모든 하위 차트가 포함 된 폴더입니다. |
crds/ | 사용자 지정 리소스 정의. |
templates/Notes.txt | 템플릿 사용 메모가 포함 된 텍스트 파일 |
Helm Repository
Helm Release
Helm은 차트를 어떻게 처리하나요?
Helm 설치
sansae@workspace-win10:/mnt/c/apps$ curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 sansae@workspace-win10:/mnt/c/apps$ chmod 700 get_helm.sh sansae@workspace-win10:/mnt/c/apps$ ./get_helm.sh Downloading https://get.helm.sh/helm-v3.7.1-linux-amd64.tar.gz Verifying checksum... Done. Preparing to install helm into /usr/local/bin [sudo] password for sansae: helm installed into /usr/local/bin/helm sansae@workspace-win10:/mnt/c/apps$
sansae@workspace-win10:/mnt/c/apps$ helm version version.BuildInfo{Version:"v3.7.1", GitCommit:"1d11fcb5d3f3bf00dbe6fe31b8412839a96b3dc4", GitTreeState:"clean", GoVersion:"go1.16.9"}
Helm 사용하기
Helm 차트를 사용하기 위해 차트 repository를 추가 합니다.
sansae@workspace-win10:/mnt/c/apps$ helm repo add stable https://charts.helm.sh/stable "stable" has been added to your repositories
추가된 Repository를 확인 합니다.
sansae@workspace-win10:/mnt/c/apps$ helm repo list
NAME URL
stable https://charts.helm.sh/stable
sansae@workspace-win10:/mnt/c/apps$
추가된 Repository에 어떤 Charts가 있는지 확인 합니다.
sansae@workspace-win10:/mnt/c/apps$ helm search repo stable NAME CHART VERSION APP VERSION DESCRIPTION stable/acs-engine-autoscaler 2.2.2 2.1.1 DEPRECATED Scales worker nodes within agent pools stable/aerospike 0.3.5 v4.5.0.5 DEPRECATED A Helm chart for Aerospike in Kubern... stable/airflow 7.13.3 1.10.12 DEPRECATED - please use: https://github.com/air... stable/ambassador 5.3.2 0.86.1 DEPRECATED A Helm chart for Datawire Ambassador stable/anchore-engine 1.7.0 0.7.3 Anchore container analysis and policy evaluatio... stable/apm-server 2.1.7 7.0.0 DEPRECATED The server receives data from the El... stable/ark 4.2.2 0.10.2 DEPRECATED A Helm chart for ark stable/artifactory 7.3.2 6.1.0 DEPRECATED Universal Repository Manager support... stable/artifactory-ha 0.4.2 6.2.0 DEPRECATED Universal Repository Manager support... ~~~~~~~~~~ 생략 ~~~~~~~~~~~~
Helm Repository Update
sansae@workspace-win10:/mnt/c/apps$ helm repo update Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "stable" chart repository Update Complete. ⎈Happy Helming!⎈ sansae@workspace-win10:/mnt/c/apps$
Package 설치 하기
$ kubectl create namespace db $ helm install postgresql-v1 stable/postgresql --namespace db $ helm status postgresql-v1
Upgrade & Rollback
$ helm upgrade postgresql-v1 stable/postgresql --namespace db $ helm history postgresql-v1 --namespace db $ helm rollback postgresql-v1 1 --namespace db
Release 삭제하기
$ helm uninstall postgresql-v1 --namespace db