Какие инструменты, кроме Helm, вы использовали для деплоя в Kubernetes?

«Какие инструменты, кроме Helm, вы использовали для деплоя в Kubernetes?» — вопрос из категории Kubernetes, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Помимо 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 для автоматической пересборки и деплоя при изменении кода.