## 헬름 차트 구성요소
1. 쿠버네티스에서 애플리케이션을 배포할 때 필요한 기본적인 리소스를 확인
2. 3 티어로 구성된 이 그림은 각 계층마다 디플로이먼트와 서비스를 포함
3. 추가적으로 Configmap과 Secret등을 사용해 추가 설정할 수 있도록 구성
4. 헬름 차트 내에서도 이러한 정보들은 YAML 파일로 정의
## Helm create
$ helm create mychart
## templates 디렉토리
1. 템플릿 디렉토리는 서비스를 하는데 필요한 자원들의 yaml 파일의 집합
2. deployment, service, hpa 등으로 구성됨
3. 템플릿 파일은 go 템플릿 렌더링엔진에서 읽을 수 있는 변수 형태로 구성
4. {{ }} 기호안의 내용들은 템플릿이 구성될 때 외부의 값을 통해 코드가 실행되면서 결정되는 내용
## values.yaml
1. 서비스 템플릿을 확인하고 여기에 데이터를 전달해 실행
2. 전달할 데이터는 values.yaml 파일에 정의
3. service.yaml 의 내 용 을 살 펴 보 면 sepc 아 래 부분에 {{ .Values.service.type }} 과 {{.Values.service.port }}가 정의
## values.yaml
⚫ --set 아규먼트를 사용해 간단히 value를 전달
⚫ 템플릿 내부에 전달하고자 하는 내용이 있다면 이 같이 어느쪽에서 데이터를 읽는지 확인 후 전달
## 헬름 차트 배포하기
1. 차트를 개발할 때 Linter를 사용해 모범사례를 따르고 템플릿이 잘 구성되었는지 확인
2. 다음 결과는 큰 문제가 없는 경우
## 헬름 차트 배포하기
1. Chart.yaml 파일이 있는 디렉토리를 선택하고 설치 진행
$ helm install mychart ./mychart/
$ kubectl get all
## 헬름 차트 삭제하기
$ helm uninstall mychart
'[Kubernetes Master] > 11. 헬름 차트를 활용한 쿠버네티스 애플리케이션 패키지 배포' 카테고리의 다른 글
차트 패키징 및 github 레파지토리를 활용한 배포 (0) | 2023.07.23 |
---|---|
[중요][kubernetes 트러블슈팅] error: exec plugin: invalid apiVersion "client.authentication.k8s.io/v1alpha1" (0) | 2023.07.18 |
공개 레파지토리를 활용한애플리케이션 배포와 삭제 (0) | 2023.07.18 |
Helm 소개와 설치 (0) | 2023.07.18 |
댓글