...
일단 먼저 사용 방법을 익히고, 어떻게 사용하는 것이 good practice인지 알아가 보려고 한다.
...
Terms
Chart는 Helm 패키지이다. 이 패키지에는 k8s 클러스터 내에서 애플리게이션, 도구, 서비스를 구동하는데 필요한 모들 리소스 정의가 포함되어 있다. k8s에서의 Homebrew 포뮬러, Apt dpkg, YUM RPM 파일과 같은 것으로 생각할 수 있다.
Repo는 차트를 모아두고 공유하는 장소이다. 이것은 마치 Perl의 CPAN 아카이브나 페도라 패키지 데이터베이스와 같은데, k8s 패키지용이라고 보면 된다.
Release는 k8s 클러스터에서 구동되는 chart의 인스턴스이다. 일반적으로 하나의 차트는 동일한 클러스터 내에 여러 번 설치될 수 있다. 설치될 때마다, 새로운 release 가 생성된다.
MySQL 차트의 경우를 생각해보자. 클러스터 내에 데이터베이스 2대를 구동하려면, 차트를 두 번 설치하면 된다. 차례로 각각의 _release name_을 가지는, 각각의 _release_를 가지게 될 것이다.
이러한 개념을 염두에 두고, Helm 설명을 이어간다.
Helm은 k8s 내부에 _charts_를 설치하고, 각 설치에 대해 새로운 _release_를 생성한다. 새로운 chart를 찾기 위해 Helm chart _repositories_를 검색할 수 있다.
모든 SW가 그렇듯, Helm도 버전에 따라 차이가 있는데, 이 글에서 사용하는 v3과 version1,2의 아키텍처 상으로 가장 큰 차이는 더 이상 Tiller server가 필요하지 않고, Helm 클라이언트 만으로 chart 배포 관리를 할 수 있다는 점이다.
Code Block |
---|
helm version
version.BuildInfo{Version:"v3.4.1", GitCommit:"c4e74854886b2efe3321e185578e6db9be0a6e29", GitTreeState:"clean", GoVersion:"go1.14.11"} |
How to install
Helm은 k8s 용 소프트웨어를 검색하거나, 공유하고 사용하기 위한 K8s Package Manager이며,
...