ㅡ.ㅡ

[Kubernetes Package Manager] Helm 본문

ETC

[Kubernetes Package Manager] Helm

ekwkqk12 2020. 12. 15. 23:21

Helm

복잡한 쿠버네티스의 리소스들을 패키징하여 간편하게 관리할 수 있도록 도와주는 도구로 하나의 커맨드로 클러스터 내에 리소스들을 설치 및 변경사항을 반영 할 수 있으며, 변경사항들은 리비전으로 관리할 수 있다.

Helm 설치

curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 > get_helm.sh
chmod 700 get_helm.sh
sh helm.sh
helm help

Chart Repository 추가 및 업데이트

helm repo add stable https://kubernetes-charts.storage.googleapis.com/
helm repo update

Chart 정보 확인

helm search repo <Chart명>
helm search hub <Chart명>

※ 상세 정보 확인
helm inspect chart <Chart 명>

Custom Chart

※ Chart 생성
helm create <Chart 명>

※ Custom Chart 설치
helm install <Chart 경로> --name-template <탬플릿 명>

※ value.yaml
replicaCount: 1

※ delpoment.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ include "test-chart.fullname" . }}
  labels:
    {{- include "test-chart.labels" . | nindent 4 }}
spec:
{{- if not .Values.autoscaling.enabled }}
  replicas: {{ .Values.replicaCount }}

 

charts : 의존성 chart저장
templates : 실제 배포에 필요한 yaml파일
Chart.yaml : Helm Chart의 기본적인 정보와 이름 버전등을 기록
value.yaml : 템플릿화된 templates/ 디렉토리 하위의 yaml파일들에 대하여 변수를 정의

helm 템플릿 업그레이드/다운그레이드

※ helm 템플릿 업그레이드(Chart, value파일을 수정 후 진행)
helm upgrade <템플릿 명> <Chart 경로>

※ helm 템플릿 다운그레이
helm rollback <템플릿 명> <리비전 값>

helm Chart 변경 내역 확인

helm history <템플릿 명>

helm Chart 저장

helm package <Chart 명>

helm chart 다운로드 및 설치

※ helm 저장소에 저장된 chart 다운로드
helm fetch <Chart 명>

 

Chart.yaml : 차트에 대한 정보
LICENSE : 차트 라이센스에 대한 정보
README.md : 차트에 대한 설명
requirements.yaml : 차트의 의존성을 명시한 파일
values.yaml : 이 차트에서 사용하는 기본 설정 값
charts : 이 차트에 관련되어 있는 차트들
templates : 쿠버네티스 매니페스트 파일들로 변환될 YAML템플릿 파일들

'ETC' 카테고리의 다른 글

[K8S Resource] ClusterAutoScaler  (0) 2023.10.22
[K8S Resource] Goldilocks  (0) 2023.10.22
[K8S Resource] Descheduler  (0) 2023.10.22
[AWS] EFS  (0) 2021.10.21
[Kubernetes Management] Rancher  (0) 2021.09.29