개발 도서/핵심만 콕 쿠버네티스
08 helm 패키지 매니저
hp0724
2023. 11. 17. 10:58
Deployment , Service, ConfigMap 과 같은 다양한 리소스의 조합으로 구성된다.
8.1 helm 이란
helm 은 k8s 패키지 매니저이다. apt ,yum ,pip 틀과 비슷하게 플랫폼의 패키지를 관리한다.
- values.yaml : 사용자가 원하는 값들을 설정하는 파일
- templates /: 설치할 리소스 파일들이 존재하는 디렉터리 해당 디렉터리 안에는 Deployment , Serivce 등과 같은 k8s 리소스가 YAML 파일 형태로 들어가 있다.
도커가 단순히 프로세스 레벨에서 외부의 것을 가져다 쓸수 있게 해준것이라면 ,K8S 는 helm을 이용하여 프로세스와 네트워크 저장소 등 애플리케이션에서 필요한 모든 자원들을 외부에서 가져올수 있게한다.
helm chart 생성
curl <https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3> | bash -s -- --version v3.2.2
8.1.2 chat 생성
- Chart.yaml : chart 이름 , 버전 정보 등 chart 의 전반적인 정보를 담고있다.
- charts : chart 속에 또 다른 여러 chart 들을 넣을수 있다.
- templates/: chart 의 뼈대가 되는 k8s 리소스가 들어있는 폴더
- values.yaml : 사용자가 정의하는 설정값을 가진 YAML 파일
8.1.3 char 설치
helm 의 경우 버전에 따라 충돌이 발생하고 있다.
helm install foo ./mychart
8.1.4 chart 리스트 조회
helm list
8.1.5 chart 랜더링
템플릿 파일들의 합쳐진 YAML 정의서 결과를 확인하고 싶다면 template 명령을 사용할수 있다.
YAML 파일이 어떤 형태로 만들어져 설치가 되는지 디버깅하는 용도로 종종 사용
8.2 원격 레포지토리
helm 에는 chart 원격 저장소인 리파지토리가 있다. 온라인상에 제공되는 repository를 추가하여
원격 저장소로부터 chart를 로컬 클러스터에 설치할수 있다.
8.2.1 리파지토리 추가
sudo helm repo add stable <https://charts.helm.sh/stable>
8.2.2 리파지토리 업데이트
sudo helm repo update
8.2.3 리파지토리 조회
sudo helm repo list
8.3 외부 chart 설치
8.3.1 chart install
원격 리파지토리에 있는 chart를 바로 설치
8.3.2 chart fetch
로컬 디레터리로 다운로드도 가능
세부적으로 설정값들을 수정후에 애플리케이션을 설치하고 싶을때 fetch 사용