J02.01. Deployments (Развертывание приложений)

Редактировал(а) Ирина Сафонова 07.01.2024, 00:06

Что такое контроллер развертывания приложения?


Контроллер развертывания — декларативные обновления для подов и наборов реплик. Вы описываете желаемое состояние в объекте развертывания, а контроллер изменяет фактическое состояние на желаемое с контролируемой скоростью. Поскольку развертывание запускает несколько копий вашего приложения, разверты автоматически заменяет экземпляры, которые выходят из строя или работают со сбоями. Развертывания обеспечивают доступность экземпляров приложений для обработки запросов пользователей.

Ссылки на документацию


Более подробно в официальной документации Kubernetes.

Необходимые условия перед выполнением настроек


Перед выполнением настроек должны быть созданы:

Пользователь должен быть приглашен в проект и наделен ролью operator.

Настройка


Настройка состоит из следующих последовательных шагов:

1. Открытие дашборда.
2. Ввод основной информации.
3. Установка пода.
4. Определение количества томов.
5. Настройка дополнительных параметров.

При необходимости проверьте параметры настройки.

Шаг 1. Открытие дашборда

1. Войдите в веб-консоль Cloud Managed Kubernetes как project-regular.
2. Перейдите в Application Workloads проекта, выберите Workloads и нажмите кнопку Create на вкладке Deployments.

Шаг 2. Ввод основной информации

Задайте имя развертыванию, например,demo-deployment, выберите проект и нажмите кнопку Next.

Шаг 3. Установка пода

1. Перед установкой образа определите количество реплицированных подов, щелкнув icon или icon в поле .spec.replicas файла манифеста.

Чтобы увидеть файл манифеста развертывания в формате YAML, нажмите кнопку Edit YAML в правом верхнем углу. Cloud Managed Kubernetes позволяет редактировать файл манифеста напрямую для создания развертывания. Кроме того, вы можете выполнить описанные ниже шаги, чтобы создать развертывание через дашборд.

2. Нажмите на кнопку Add Container.
3. Введите имя образа из общедоступного Docker Hub или из указанного вами частного репозитория. Например, введите nginx в поле поиска и нажмите кнопку Enter.

  • Нажимайте Enter на клавиатуре после ввода имени образа в поле поиска.
  • Если вы хотите использовать свой личный репозиторий образов, создайте секретную переменную реестра образов в разделе Secrets в Configuration.

4. Установите необходимые запросы и ограничения для ресурсов CPU и памяти.
5. Нажмите кнопку Use Default Ports для настроек порта. Настройте протокол, имя и порт контейнера.
6. Выберите политику извлечения образов из раскрывающегося списка.
7. При необходимости настройте следующие параметры дашборда:

  • Health Check,
  • Start Command, 
  • Environment Variables, 
  • Container Security Context,
  • Synchronize Host Timezone.

Закончите настройку — нажмите кнопку √ в правом нижнем углу.
8. Выберите стратегию обновления в раскрывающемся меню. Рекомендуется выбрать Rolling Update.
9. Выберите правило планирования пода.
10. Нажмите кнопку Next, чтобы продолжить настройку.

Шаг 4. Определение количества томов

При необходимости добавьте том напрямую или смонтируйте ConfigMap или секретную переменную. Либо нажмите кнопку Next, чтобы пропустить шаг. Более подробно про тома.

Развертывания не могут использовать шаблон тома наборов состояния.

Шаг 5. Настройка дополнительных параметров

При необходимости установите политику планирования нод и добавьте метаданные. Далее нажмите кнопку Create, чтобы завершить процесс развертывания.

  • Выбор нод. Назначьте реплики подов для запуска на указанных нодах.
  • Добавление метаданных. Дополнительные настройки метаданных для таких ресурсов, как Labels и Annotations.

Проверка параметров настройки


При необходимости проверьте параметры настройки.

Страница сведений

1. После создания развертывание отображается в списке. Щелкните значок icon справа и выберите параметры в меню, чтобы изменить данные:

  • Edit Information: просмотр и редактирование основной информации.
  • Edit YAML: просмотр, загрузка, скачивание или обновление файла YAML.
  • Re-create: повторное развертывание.
  • Delete: удаление развертывания.

2. Щелкните имя развертывания и перейдите на страницу сведений о нем.
3. Нажмите More, чтобы отобразить доступные операции с развертыванием.

  • Roll Back: версия для отката.
  • Edit Autoscaling: автоматическое масштабирование реплик в соответствии с использованием CPU и памяти. Если указаны и CPU, и память, реплики добавляются или удаляются при выполнении любого из условий.
  • Edit Settings: настройка стратегии обновления, контейнера и томов.
  • Edit YAML: просмотр, загрузка, скачивание или обновление файла YAML.
  • Re-create: повторное развертывание.
  • Delete: удаление развертывания. После удаления осуществляется возврат на страницу со списком развертываний.

4. Перейдите на вкладку Resource Status, чтобы просмотреть информацию о порте и поде развертывания.

  • Replica Status: нажмите icon или icon, чтобы увеличить или уменьшить число реплик.
  • Pods. При необходимости просмотрите:
    • информацию о поде: состояние, нода, IP-адрес пода, использование ресурсов,
    • информацию о контейнере,
    • логи контейнера.

Регистрация изменений

После изменения шаблона ресурса рабочей нагрузки генерируется новый журнал, а поды перепланируются для обновления версии. Последние десять версий сохраняются по умолчанию. При необходимости сделайте повторное развертывание, используя журнал изменений.

Метаданные

Щелкните вкладку Metadata, чтобы просмотреть метки и аннотации развертывания.

Мониторинг

1. Щелкните вкладку Monitoring, чтобы просмотреть использование CPU, RAM, исходящий и входящий трафик развертывания.
2. Щелкните раскрывающееся меню в правом верхнем углу, чтобы настроить временной диапазон и интервал выборки.
3. Щелкните icon / icon значок в правом верхнем углу, чтобы запустить или остановить автоматическое обновление данных.
4. Щелкните icon в правом верхнем углу, чтобы вручную обновить данные.

Переменные среды

Щелкните вкладку Environment Variables, чтобы просмотреть переменные среды развертывания.

События

Щелкните вкладку Events, чтобы просмотреть события развертывания.

В начало 🡱
К следующему разделу 🡲
К предыдущему разделу 🡰