Что такое Kustomize
Кастомизация Kubernetes манифестов
Kustomize — это инструмент для кастомизации Kubernetes-манифестов без использования шаблонов. Встроен в kubectl начиная с версии 1.14.
Основные концепции
- Base — базовые манифесты приложения
- Overlay — слои модификаций для разных сред
- Patches — изменения конкретных полей
- Kustomization.yaml — файл конфигурации
Ключевые возможности
- Декларативное управление конфигурациями
- Наложение изменений без модификации оригинала
- Генерация ConfigMaps и Secrets
- Добавление префиксов и лейблов
- Управление несколькими окружениями
Преимущества перед Helm
- Нативная интеграция с kubectl
- Работа с чистым YAML без шаблонов
- Проще для небольших проектов
- Не требует установки дополнительного ПО
- Легче понять и отлаживать
Применение в DevOps
- Разделение dev/staging/prod конфигураций
- Управление секретами и переменными окружения
- CI/CD пайплайны с GitOps
- Масштабирование для множества кластеров
- Версионирование инфраструктуры