Kustomize와 Helm을 이용하면 GitOps를 할 때 유용하게 사용할 수 있다.
Kustomize는 kubernetes resource customizing tool로 객체(object)를 선언적으로 관리하는 것을 편하게 하는 도구이다.
Kubernetese resource에 약간의 변화를 일으킬 때 사용한다.
resources: #적용할 resource 지정
-deployment.yaml
-service.yaml
#kustomization의 명령어
commonLables: # 모든 resource에 label을 추가함
app: my-app
createdAt: "2021-12-06"
namespace: "my-namespace"
overay > kustomizaition.yaml 👇
#overlay 할 것들을 작성 = 변경할 것들을 작성
resource:
- ../../base #시작하는 곳
images:
- names: nginx
newName: my-org/my-app
newTag: "0.10.1"
patches: #위치를 지정하여 변경
- target
$> kustomize build . #실행
$> kubectl kustomize [kustomization_dir] #kustomize 적용된 결과를 보여줌
$> kubectl apply -k overlay/prod #kustomize로 변경된 파일을 적용
helm v2와 v3는 구동 방식의 차이가 있기 때문에 반드시 v3를 사용할 것.
Kubernetes resource에 많은 변화를 만들어낼 때 사용한다.
Helm은 package 관리자로 보면 된다.
brew install helm
#원하는 chart 찾기
helm search hub [chart명] # helm hub 검색
helm serach repo [chart명] # locla helm client에 추가된 것을 검색
#패키지 설치
helm install [사용자 지정 release명] [설치하려는 chart명]
#chart 생성
helm create [이름]
helm fetch [stable 이름] #fetch해서 chart의 압축을 풀어주면 됨
helm template my-redis . #어떤 모양으로 만들어낼 것인지 보여줌