Search

Kustomize 속성

resources

Kustomize가 적용할 기본 Kubernetes 리소스 파일들을 지정합니다. 파일 경로를 나열합니다.
resources: - deployment.yaml - service.yam
YAML
복사

namePrefix

모든 리소스 이름 앞에 붙일 접두사를 설정합니다. 여러 환경에서 리소스를 구분할 때 유용합니다.
namePrefix: dev- # 모든 리소스 이름 앞에 dev-가 붙습니다. 예: dev-web-app
YAML
복사

nameSuffix

모든 리소스 이름 뒤에 붙일 접미사를 설정합니다.
nameSuffix: -v1 # 모든 리소스 이름 뒤에 -v1이 붙습니다. 예: web-app-v1
YAML
복사

namespace

모든 리소스를 배포할 Kubernetes 네임스페이스를 설정합니다.
namespace: dev-environment # 모든 리소스가 dev-environment 네임스페이스로 배포됩니다.
YAML
복사

patchesStrategicMerge

기존 리소스 파일을 수정하기 위한 패치를 정의합니다. 파일 경로를 나열하며, 기본적으로 Strategic Merge Patch 방식으로 리소스를 변경합니다.
patchesStrategicMerge: - patch-deployment.yaml # deployment.yaml 파일을 기반으로 patch-deployment.yaml에서 지정된 변경 사항이 적용됩니다.
YAML
복사

patchesJson6902

JSON Patch 형식으로 리소스를 수정합니다. json6902는 Kubernetes에서 사용하는 JSON Patch 규격에 맞춰 패치를 적용합니다.
patchesJson6902: - target: kind: Deployment name: web-app patch: |- - op: replace path: /spec/replicas value: 3 # Deployment의 replicas를 3으로 변경합니다.
YAML
복사

configMapGenerator

ConfigMap을 생성하는 데 사용할 데이터를 정의합니다. namefiles 또는 envs로 데이터를 제공할 수 있습니다.
configMapGenerator: - name: my-config files: - config.ini # config.ini 파일을 포함하는 my-config라는 ConfigMap을 생성합니다.
YAML
복사

secretGenerator

Secret을 생성하는 데 사용할 데이터를 정의합니다. name, files, envs 등을 통해 Secret을 생성합니다.
secretGenerator: - name: my-secret literals: - password=supersecret # password=supersecret 값을 포함하는 my-secret이라는 Secret을 생성합니다.
YAML
복사

vars

템플릿 변수처럼 사용하여 리소스 파일 내에서 참조할 수 있는 변수를 설정합니다. configMapGeneratorsecretGenerator와 함께 사용할 수 있습니다.
vars: - name: MY_SECRET objref: kind: Secret name: my-secret apiVersion: v1 fieldref: fieldpath: data.password # MY_SECRET라는 변수를 설정하여, my-secret Secret의 password 값을 참조할 수 있게 합니다.
YAML
복사

commonLabels

모든 리소스에 공통으로 추가할 레이블을 설정합니다.
commonLabels: environment: dev app: web-app # 모든 리소스에 environment=dev, app=web-app 레이블이 추가됩니다.
YAML
복사

commonAnnotations

모든 리소스에 공통으로 추가할 주석을 설정합니다.
commonAnnotations: maintainer: "team@example.com" # 모든 리소스에 maintainer=team@example.com 주석이 추가됩니다.
YAML
복사

images

이미지를 지정하거나 변경할 수 있습니다. 주로 image 태그를 변경할 때 사용합니다.
images: - name: web-app newName: myregistry/web-app newTag: v2 # web-app 이미지를 myregistry/web-app:v2로 변경합니다.
YAML
복사

namespacePrefix

네임스페이스 이름 앞에 접두사를 추가할 수 있습니다. namespace와 비슷하지만 접두사만 추가됩니다.
namespacePrefix: dev- # 네임스페이스가 dev-로 시작합니다. 예: dev-web-app
YAML
복사

namespaceSuffix

네임스페이스 이름 뒤에 접미사를 추가할 수 있습니다. namespace와 비슷하지만 접미사만 추가됩니다.
namespaceSuffix: -namespace # 네임스페이스 이름 뒤에 -namespace가 붙습니다. 예: web-app-namespace
YAML
복사

Complete YAML

resources: - deployment.yaml - service.yaml namePrefix: dev- namespace: dev-environment patchesStrategicMerge: - patch-deployment.yaml configMapGenerator: - name: app-config files: - app-config.properties secretGenerator: - name: app-secret literals: - api-key=supersecretkey commonLabels: environment: dev app: web-app images: - name: web-app newName: myregistry/web-app newTag: v1
YAML
복사