Helm & Kustomize

KingTG·2024년 5월 10일

인프라

목록 보기
12/13

공통점

배포를 하기 위해 만들어야 하는 yaml파일들에 대해서 중복 관리를 최소화 하기 위해 사용(패키지 매니저)

차이점

Helm 설치

# 압축파일 받기 & 압축 풀기
curl -O https://get.helm.sh/helm-v3.13.2-linux-amd64.tar.gz
tar -zxvf helm-v3.13.2-linux-amd64.tar.gz
mv linux-amd64/helm /usr/bin/helm

# 설치 확인 ( 유저 변경하여)
su - jenkins -s /bin/bash
helm

템플릿 생성

helm create api-tester

Kustomize 설치(확인)

  • kustomize는 kubectl 1.14버전 이상은 포함되어 있기 때문에 확인 명령어를 통해 확인한다.

kubectl version --short --client

Helm 배포

새 리스트에서 파이프라인을 구성해준다.

Configure > General > GitHub project > Project url

  • github.com/tgseo76/kubernetes/

Configure > Advanced Project Options > Pipeline

Definition : Pipeline script from SCM
Definition > SCM : Git
Definition > SCM > Repositories > Repository URL : https://github.com/k8s-1pro/kubernetes-anotherclass-sprint2.git
Definition > SCM > Branches to build > Branch Specifier : */main
Definition > SCM > Branches to build > Additional Behaviours > Sparse Checkout paths > Path : 2221
Definition > Script Path : 2221/Jenkinsfile

저장 후 지금 빌드

배포 시작을 누르기 전에 헬름 템플릿 확인을 눌러 로그를 확인 후 실수가 없는지 로그를 확인하고 배포를 눌러야 한다.

  • 헬름 패키지 구성

Kustomize.io

heml은 helm create 명령어를 실행하면 폴더와 하위폴더가 자동으로 만들어지지만

커스터마이즈는 패키지를 상위폴더부터 하위폴더까지 직접 생성해야된다.(가이드에 나와있다)

kustomize 배포

새아이템 Enter an item name에 [kustomize-deploy] 입력
Copy form에 [helm-deploy] 입력

Definition > SCM > Branches to build > Additional Behaviours > Sparse Checkout paths > Path : 2223
Definition > Script Path : 2223/Jenkinsfile

저장 후 지금 빌드를 눌러준다

아래와 같이 처음 젠킨스 파일을 읽어 오느라 개발환경을 선택하는 칸이 없는데 abrot를 눌러 첫 젠킨스 파일을 읽어 드리면

왼쪽에 지금빌드에서 파라미터와 함께 빌드로 바뀌게 되고 개발환경을 선택할 수 있게된다.

젠킨스 파일에 아래 부분을 읽어드리게 되고 설정에 들어가게 된다.

parameters {
        choice(choices: ['dev', 'qa', 'prod'], name: 'PROFILE')
    }

0개의 댓글