Ответ
Помимо Helm, для деплоя и управления релизами в Kubernetes я использовал следующие инструменты:
- Kustomize: Для управления конфигурациями через патчи без шаблонизации. Идеально подходит для управления окружениями (dev, staging, prod).
# kustomization.yaml для production bases: - ../base patchesStrategicMerge: - increase-replicas.yaml images: - name: myapp newTag: v1.2.0-prod - GitOps с Argo CD: Для автоматического деплоя при изменении манифестов в Git-репозитории. Argo CD постоянно сравнивает желаемое состояние (в Git) с фактическим в кластере и синхронизирует их.
- Terraform с провайдером Kubernetes/Helm: Для декларативного описания инфраструктуры и самих Kubernetes-ресурсов (Namespaces, RBAC, операторы) как код.
- CI/CD пайплайны (GitLab CI, Jenkins): Для сборки образов, тестирования и последующего вызова
kubectl apply,helm upgradeили создания Pull Request в GitOps-репозитории.
Для локальной разработки и тестирования сложных мультисервисных приложений также использовал skaffold для автоматической пересборки и деплоя при изменении кода.