Развертывание приложений в Kubernetes с Argo CD для начинающих

Развертывание приложений в Kubernetes может быть сложным, особенно для новичков. Введите Argo CD, инструмент на основе GitOps, предназначенный для автоматизации развертывания приложений в Kubernetes. На этом семинаре вы узнаете, как настроить и использовать Argo CD для беспроблемного развертывания приложений, с пошаговым руководством, созданным специально для начинающих.

Что вы узнаете

  • Установка и настройка Argo CD.
  • Развертывание приложений с использованием принципов GitOps.
  • Мониторинг развертываний и устранение неполадок.
  • Откат и управление версиями приложений.
  • Обеспечение безопасности Argo CD для использования в производстве.

Почему Argo CD?

Argo CD упрощает управление приложениями в Kubernetes, постоянно синхронизируя ваш кластер с манифестами, определенными в репозиториях Git. Преимущества включают:

  • Декларативное управление: Определите желаемое состояние кластера в Git.
  • Непрерывная доставка: Автоматизация развертываний с синхронизацией в реальном времени.
  • Управление версиями: Легкость отката к предыдущим версиям.

Предварительные требования

Перед тем как начать, убедитесь, что у вас есть:

  1. Кластер Kubernetes (используйте Minikube, Kind или управляемый сервис, такой как GKE, EKS, AKS).
  2. Установленный и настроенный kubectl для подключения к вашему кластеру.
  3. Учетная запись GitHub или GitLab для размещения ваших манифестов Kubernetes.
  4. Базовое знакомство с синтаксисом YAML (рассматривается на этом семинаре, если вы новичок).

Пошаговое руководство

1. Настройка кластера Kubernetes

Шаг 1: Установка Minikube

Если у вас нет кластера, используйте Minikube:

Shell

 

Шаг 2: Запуск Minikube

Запустите команду minikube start после установки Minikube на вашу систему:

Shell

 

Шаг 3: Проверка кластера

Убедитесь, что кластер работает:

Shell

 

2. Установка Argo CD

Шаг 1: Создание пространства имен

Argo CD работает в собственном пространстве имен для изоляции:

Shell

 

Шаг 2: Установка Argo CD

Примените официальные манифесты для установки Argo CD:

Shell

 

Шаг 3: Проверка установки

Проверьте поды Argo CD:

Shell

 

3. Доступ к интерфейсу Argo CD

Шаг 1: Откройте доступ к Argo CD

Откройте доступ к argocd-server на вашем локальном компьютере:

Shell

 

Шаг 2: Получение учетных данных администратора

Получите пароль администратора по умолчанию:

Shell

 

Шаг 3: Вход в интерфейс пользователя

  1. Откройте https://localhost:8080 в вашем браузере.
  2. Войдите с помощью:
    • Имя пользователя: admin
    • Пароль: Полученный на предыдущем шаге.

4. Подключение Argo CD к вашему Git-репозиторию

Шаг 1: Подготовка Git-репозитория

  1. Создайте Git-репозиторий (например, на GitHub).
  2. Добавьте ваши манифесты Kubernetes в репозиторий. Используйте этот образец deployment.yaml:
YAML

 

Шаг 2: Добавление репозитория в Argo CD

Из интерфейса:

  1. Перейдите к Настройкам > Репозиториям.
  2. Добавьте URL вашего Git-репозитория и данные аутентификации (SSH или HTTPS).

Или используйте CLI:

Shell

 

5. Развертывание вашего первого приложения

Шаг 1: Создание приложения

В Argo CD UI:

  1. Нажмите Новое приложение.
    • Имя приложения: nginx-app
    • Проект: по умолчанию
    • URL репозитория: URL вашего Git-репозитория
    • Путь: Путь к deployment.yaml
    • URL кластера: https://kubernetes.default.svc
    • Пространство имен: по умолчанию

Шаг 2: Синхронизация приложения

После создания приложения:

  1. Нажмите Синхронизировать в пользовательском интерфейсе Argo CD.
  2. Наблюдайте, как приложение развертывается в вашем кластере Kubernetes.

6. Автоматизация развертывания

Шаг 1: Включение автосинхронизации

Включите непрерывную синхронизацию:

Shell

 

Шаг 2: Тестирование изменений

  1. Измените deployment.yaml в Git.
  2. Отправьте изменения в репозиторий.
  3. Argo CD обнаружит изменения и автоматически синхронизирует их с кластером.

7. Мониторинг и устранение неполадок

Шаг 1: Мониторинг состояния приложения

На пользовательском интерфейсе проверьте:

  • Здоровье: Указывает, работает ли приложение как ожидалось.
  • Статус синхронизации: Гарантирует соответствие состояния кластера Git.

Шаг 2: Просмотр журналов

Если что-то идет не так:

Shell

 

Шаг 3: Откат изменений

Вернуться к предыдущему состоянию:

Shell

 

8. Обеспечение безопасности Argo CD

Шаг 1: Изменение пароля администратора по умолчанию

Измените пароль администратора по умолчанию с помощью команды argocd account update-password:

Shell

 

Шаг 2: Интеграция SSO

Для производственных сред использовать решения для единого входа (SSO) как GitHub или LDAP.

Лучшие практики GitOps

  1. Стратегии ветвления: Используйте отдельные ветви для разработки, тестирования и продакшна.
  2. Проверки кода: Обеспечивайте проверку кода пиров для изменений в манифестах.
  3. Журналы аудита: Регулярно проверяйте журналы Argo CD для соответствия и отладки.

Заключение

Argo CD предлагает простой для начинающих, но мощный способ управления развертыванием Kubernetes с использованием принципов GitOps. Этот семинар дает вам навыки развертывания, мониторинга и управления приложениями эффективно. Следуя этим практикам, вы на верном пути к овладению непрерывной доставкой Kubernetes.

Source:
https://dzone.com/articles/deploying-applications-in-kubernetes-with-argo-cd