카테고리 없음
kustomize
구구달스
2024. 1. 24. 23:56
✅ kustomize
- 템플릿이 없는 원시 YAML 파일을 여러 용도에 맞게 사용자 지정할 수 있으며, 원본 YAML은 그대로 사용할 수 있습니다.
https://kubectl.docs.kubernetes.io/
SIG CLI
Documentation for Kubectl and Kustomize
kubectl.docs.kubernetes.io
- Kubectl 1.14부터 kustomization 파일을 사용하여 Kubernetes 개체 관리도 지원
✅ kustomization 만들기
- YAML 리소스 파일( deployments, services, configmaps 등)이 포함된 일부 디렉터리에서 kustomization 파일을 만듭니다.
- 이 파일에는 해당 리소스와 해당 리소스에 적용할 사용자 정의(예: 공통 레이블 추가)를 선언해야 합니다.
~/someApp
├── deployment.yaml
├── kustomization.yaml
└── service.yaml
- 사용자 지정 YAML을 생성
kustomize build ~/someApp
- YAML을 클러스터에 직접 적용
kustomize build ~/someApp | kubectl apply -f -
✅ 오버레이를 사용하여 variants 만들기
- 공통 base 을 수정하는 overlays 를 사용하여 개발, 스테이징 및 프로덕션과 같은 기존 구성의 variants 을 관리합니다.
~/someApp
├── base
│ ├── deployment.yaml
│ ├── kustomization.yaml
│ └── service.yaml
└── overlays
├── development
│ ├── cpu_count.yaml
│ ├── kustomization.yaml
│ └── replica_count.yaml
└── production
├── cpu_count.yaml
├── kustomization.yaml
└── replica_count.yaml
- 위 kustomization 만들기 의 작업을 base 라는 someApp 하위 디렉터리로 이동한 다음 형제 디렉터리에 overlays 를 배치
- overlays 는 base 를 참조하고 해당 base 에 적용할 패치를 참조하는 또 다른 kustomization
- 이 배열을 사용하면 git으로 구성을 쉽게 관리할 수 있습니다. base 에는 다른 사람이 관리하는 업스트림 리포지토리의 파일이 있을 수 있습니다. overlays 는 사용자가 소유한 리포지토리에 있을 수 있습니다.
- 다음을 사용하여 YAML 생성
kustomize build ~/someApp/overlays/production
- YAML은 클러스터에 직접 적용
kustomize build ~/someApp/overlays/production | kubectl apply -f -