애플리케이션 동적 배포를 위해 kustomize를 사용해보자
1. kustomize 명령어 설치
우선 kustomize 명령어를 사용 가능하도록 설치하고 (kubectl 이라고 생각하면 좋다)
kustomize-install.sh
#!/usr/bin/env bash
curl -L \
https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv4.2.0/kustomize_v4.2.0_linux_amd64.tar.gz -o /tmp/kustomize.tar.gz
tar -xzf /tmp/kustomize.tar.gz -C /usr/local/bin
echo "kustomize installed successfully"
2. kustomize 폴더 생성, 파일 생성
kustomize할 폴더하나를 만들고, deploy를 비롯, 필요한 yaml 을 전부 몰아서 담는다.
그리고 명령어로 그 yaml 사이에 kustomize 파일을 생성한다.
kustomize create --autodetect
kustomization.yaml 이 자동 생성 되는데, 대충 이런 모양이다.
.
.
Kind: kustomization
resources:
- 폴더에 있던 yaml 들이 명시
- 폴더에 있던 yaml 들이 명시
- blabla.yaml
kustomize edit set image {image 경로:Tag}
이런식으로 추가 명령을 통해 kustomization.yaml을 변경 할 수 있다.
edit set image 명령을 하면 resources 아래로 해당 내용이 추가된다.
resources:
.
.
images:
- name: {image 경로 - 도커 hub 주소}
newTag: {Tag - 보통 version 정보}
>> kustomize를 쓰는 이유, 이런식으로 동적 변경이 가능하기 때문이다. 버전 업그레이드하기 용이하다.
3. kustomize 파일 빌드
이렇게 생성된 kustomization 파일을 빌드 명령어를 통해 적용한다.
kustomize build | kubectl apply -f -
. +
+ kustomize 명령어를 사용할 수 없는 상황인데, 다른사람이 공유해준 kustomize파일을 실행해야 할 때는.
kubectl apply -k <kustomization_derectory>
로 실행할 수 있다.
'Container & Orchestration' 카테고리의 다른 글
인터넷 없는 환경에서 docker image 불러오는 방법 (0) | 2024.05.30 |
---|---|
자주 쓰는 kubectl 명령어 (0) | 2023.08.17 |
[k8s] pod를 원하는 node에 배정하는 설정 값 (0) | 2023.08.04 |
[k8s] 기본 오브젝트의 yaml 파일 (0) | 2023.08.04 |