Plik kustomization.yaml¶
Jest to plik konfiguracyjny definiujący, w jaki sposób Kustomize
składa i modyfikuje manifesty Kubernetes w danym katalogu.
Zawiera on metadane (nazwy, labele, obrazy kontenerów), listę używanych zasobów (resource).
Resource jest to lista używanych manifestów, np.:
Przykładowa definicja prostego pliku kustomize.yaml¶
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- db/db-config.yaml
- db/db-deployment.yaml
- db/db-service.yaml
- nginx/nginx-deployment.yaml
Przykładowa definicja kustomize.yaml dla sekcji prod¶
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
# Co bierzemy jako bazę
resources:
- ../../base
# Jak zmieniamy nazwy zasobów
namePrefix: prod-
# Wspólne metadane dla wszystkich zasobów
commonLabels:
env: prod
app: myapp
commonAnnotations:
owner: platform-team
# Zmiana obrazów kontenerów
images:
- name: myapp
newName: registry.example.com/myapp
newTag: "1.3.0"
# Patche – konkretne zmiany w zasobach
patchesStrategicMerge:
- patch-deployment.yaml
- patch-ingress.yaml
# Generatory – zasoby tworzone dynamicznie
configMapGenerator:
- name: app-config
files:
- application-prod.yaml
secretGenerator:
- name: db-credentials
envs:
- secrets.env
# Kontrola nazw generowanych zasobów
generatorOptions:
disableNameSuffixHash: true