본문 바로가기

시스템/배포(Deploy)

[Part4] [3] Kubernetes Manifest 작성을 위한 Helm 활용

1. Kubernetes Manifest 작성 방법 소개

: deployment.yaml 는 쿠버네티스 클러스터에 배포를 주문하는 명세라고 할 수 있다.

<Kubernetes Manifest를 통한 Object 생성/업데이트 방법>
Object 생성/업데이트 명령어

$ kubectl apply -f {Manifest 파일}

Object의 생성/업데이트 비교 명령어 (Dry run)
$ kubectl diff -f {Manifest 파일}

Manifest기반으로 생성된 Object 생성/업데이트 현황 출력 명령어
$ kubectl get -f {Manifest 파일} -o yaml

 

- apply 말고 replace로 적용하는 방법이 존재하고 kubectl.kubernetes.io/last-applied-configuration 에서 확인 가능함- kubectl create로 생성하면 보여지지 않는다.

 

- Helm 과의 비교

 

2. Kustomize 소개
(TBA)

 

3. [실습] Kustomize을 활용한 Manifest 배포하기
(TBA)

 

4. Helm Charts 소개

<특징>

 

- docker compose와 기능이 유사, pod를 배포할때 공동적으로 적용 되는 것을 values.yaml에 명시함

- {pod-helm} / {container-dockercompose} 와 유사한 것으로 보임

 

<주요 개념>

1. Chart (패키지)
2. Repository (저장소)
3. Release (인스턴스)

 

연계방식
- Kubernetes 내부에 Helm Chart를 원하는 Repository에서 검색 후 설치 > 각 설치에 따른 새로운 Release 생성

 

(설치 방법은 생략)

 

Helm Stable Repository의 주소: https://charts.helm.sh/stable
Bitnami Kubernetes OpenSource Repository의 주소 : https://charts.bitnami.com/bitnami
AWS EKS 관련 Repository의 주소 : https://aws.github.io/eks-charts

 

Repository 추가: $ helm repo add [Repository명] [Repository URL]
Repository 조회: $ helm repo list
Repository 삭제 : $ helm repo remove [Repository명

 

Repository 정보 업데이트: $ helm repo update
Repository 내 chart 조회: $ helm search repo [공식 Helm Charts 릴리즈명]

 

helm chart 설치 (Repo 참조): $ helm install [Helm Repository명]/[공식 Helm Chart 릴리즈명] [옵션]
helm chart 설치 (파일 참조): $ helm install [배포될 Helm Chart 릴리즈명] [Helm Chart 파일 경로

 

==> 어디에 설치 되는가?

 

 

5. Helm Values 및 Template 소개

 

 

6. [실습] Helm Charts를 활용한 Manifest 배포하기

반응형