kustomize
23 commands
23 shown
Собрать kustomization
Вывести все манифесты для overlay в stdout
kustomize build ./overlays/prod
Применить kustomization
Собрать и применить kustomization за один шаг через kubectl
kubectl apply -k ./overlays/prod
Diff kustomization
Показать изменения перед применением
kubectl diff -k ./overlays/prod
Добавить ресурс в kustomization
Добавить файл ресурса в kustomization.yaml
kustomize edit add resource ./deployment.yaml
Задать образ в kustomization
Обновить тег образа в kustomization.yaml
kustomize edit set image myapp=registry/myapp:v2.0.0
Задать неймспейс
Переопределить неймспейс для всех ресурсов overlay
kustomize edit set namespace production
Добавить лейбл всем ресурсам
Добавить общий лейбл всем генерируемым ресурсам
kustomize edit add label env:production
Добавить патч
Зарегистрировать strategic merge patch в kustomization.yaml
kustomize edit add patch --path patch.yaml --kind Deployment --name <name>
Список ресурсов в kustomization
Все настраиваемые поля kustomization
kustomize cfg list-setters .
Собрать и применить
Собрать kustomize overlay и применить к кластеру
kubectl apply -k ./overlays/prod
Предпросмотр вывода
Отрендерить вывод kustomize без применения
kubectl kustomize ./overlays/prod | head -100
Установить тег образа
Обновить тег образа в kustomization.yaml
kustomize edit set image myapp=myapp:v1.2.3
Добавить configMapGenerator
Добавить генератор ConfigMap в kustomization.yaml
kustomize edit add configmap my-config --from-literal=key=value
Список ресурсов в overlay
Быстро показать все виды ресурсов в kustomize-сборке
kustomize build ./overlays/prod | grep "^kind:"
Применить strategic merge patch
Использовать patchesStrategicMerge для частичного переопределения базовых ресурсов
# Add patchesStrategicMerge in kustomization.yaml
Применить strategic merge patch
Создать strategic merge patch и добавить в kustomization.yaml
cat > patch.yaml <<EOF
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp
spec:
replicas: 3
template:
spec:
containers:
- name: myapp
resources:
limits:
memory: 512Mi
EOF
echo 'patches:\n- path: patch.yaml' >> kustomization.yaml
Развёртывание Helm-чартов в kustomize build
Рендерит блок helmCharts: в манифесты; примечание: helm должен быть в PATH
kustomize build --enable-helm ./overlay
Подключение переиспользуемого компонента
Подмешивает переиспользуемые патчи/ресурсы через components: (Kustomize v4+)
cat <<'EOF' >> kustomization.yaml
components:
- ../../components/monitoring
EOF
Перенос значения поля через replacements
modern: replacements: переносит поле между ресурсами, замена устаревших vars:
cat <<'EOF' >> kustomization.yaml
replacements:
- source: {kind: ConfigMap, name: cfg, fieldPath: data.host}
targets:
- select: {kind: Deployment}
fieldPaths: [spec.template.spec.containers.0.env.0.value]
EOF
Инлайн-патч с селектором цели
Патч JSON6902 применяется ко всем подходящим целям без отдельного файла
cat <<'EOF' >> kustomization.yaml
patches:
- target: {kind: Deployment, labelSelector: app=api}
patch: |-
- op: replace
path: /spec/replicas
value: 3
EOF
Фиксация образа по digest с переименованием
Фиксация по неизменяемому digest; newName+digest также задаётся в блоке images:
kustomize edit set image app=registry.example.com/app@sha256:<id>
Генератор секретов без хэш-суффикса
примечание: disableNameSuffixHash даёт стабильное имя, но ломает рестарт при смене
cat <<'EOF' >> kustomization.yaml
secretGenerator:
- name: db-creds
literals: [PASSWORD=s3cr3t]
generatorOptions:
disableNameSuffixHash: true
EOF
Регистрация OpenAPI CRD для ключей слияния
Учит kustomize семантике слияния CRD, чтобы патчи объединялись корректно
cat <<'EOF' >> kustomization.yaml
openapi:
path: crd-schema.json
EOF
no commands match