인프런 복습 - 쿠버네티스 어나더 클래스

[Sprint2] Helm vs Kustomize + Kustomize 실습(다양한 배포환경)

closun 2025. 5. 30. 23:42

 

 

 

 

강사님 자료

▲ Kustomize는 직접 하위 폴더 구성을 하고 이 구조에 배포할 yaml 파일도 생성해주어야 함 

▲  values.yaml에서 autoscaling의 enabled를 false로 하면 hpa가 배포되지 않음 

▲  kustomization에 배포할 파일 지정- Common Labels키에 내용을 넣으면 됨  

▲  환경별 오버레이 될 파일을 넣을 수 있다 

▲  개발환경 배포 명령어

kubectl apply -k ./app/overlays/dev 

 

▲  Helm의 경우

values-dev.yaml

values-qa.yaml 

values-prod.yaml

배포시 -f 옵션 사용 

 

 

 

 

 

 

 

 


실습 (Kustomize)

Kustomize 배포하기

▲ 처음에는 dev, qa, prod중 dev가 적용되므로 Abort 선택

 

 

 

▲ 템플릿 로그 확인 

 

 

 

실습 후 정리

kubectl delete ns anotherclass-222-dev
kubectl delete ns anotherclass-222-qa
kubectl delete ns anotherclass-222-prod

 

Jenkinsfile 확인 

▲ 여기서 Input box를 만든 것

▲ 빌드 전에 PROFILE 값을 동적으로 사용할 수 있다. 

 

▲ 이 Path는 api-tester 폴더 아래 overlays 폴더가 있음 

 

 

 

▲ 이렇게 정의하면 모든 yaml 파일에 공통적으로 labels와 selector를 만들어준다

deployment와 service 파일을 보면 실제로 labels가 없음 

▲ resources: 배포할 파일들을 지정 필요 

 

 

보통 환경(개발, 운영, 테스트)은 다른 클러스터에 구성되기 때문에, 실제로는 namespace이름을 구분할 필요가 없다 


 

 

실습 후 정리