0Pricing
Docker & DevOps Fundamentals · Урок

Масштабирование и обновления без простоя в Swarm

Масштабируйте службы в swarm, выполняйте поэтапные обновления без простоя и автоматически возвращайтесь к предыдущей версии при сбое обновления.

«Масштабирование и обновления без простоя в Swarm» — бесплатный урок Docker & DevOps Fundamentals на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Docker & DevOps Fundamentals, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Docker & DevOps Fundamentals содержит 4 уроков всего.

Сервисы масштабируются

В Swarm сервис описывает желаемое количество одинаковых контейнерных реплик. Менеджер Swarm постоянно поддерживает это количество работающих реплик на разных узлах.

Масштабирование сервиса

В любой момент измените количество реплик с помощью docker service scale. Планировщик распределяет новые задачи по доступным узлам.

docker service scale web=5

Масштабирование при создании

Также можно задать количество реплик при создании сервиса с помощью --replicas.

docker service create --name web --replicas 3 -p 80:80 nginx

Проверка состояния реплик

Используйте docker service ls для получения сводной информации, а docker service ps — чтобы увидеть каждую задачу и узел, на котором она выполняется.

docker service ps web

Что такое поэтапное обновление?

Поэтапное обновление заменяет реплики небольшими группами, поэтому сервис остаётся доступным на всём протяжении процесса. В Swarm эта возможность встроена.

Запуск обновления

Укажите новый образ для сервиса с помощью docker service update --image. Swarm постепенно заменяет задачи согласно Вашей политике обновления.

docker service update --image nginx:1.27 web

Управление развёртыванием

Настройте развёртывание с помощью параллелизма и задержки: укажите, сколько задач изменять одновременно и сколько ждать между группами.

docker service update \
 --update-parallelism 2 \
 --update-delay 10s \
 --image nginx:1.27 web

Действие при сбое обновления

Установите --update-failure-action в значение rollback, чтобы при сбое обновление автоматически отменялось, а сервис не оставался неисправным.

docker service update \
 --update-failure-action rollback \
 --image nginx:1.27 web

Ручной откат

Если обновление работает неправильно, команда docker service rollback мгновенно возвращает сервис к предыдущей спецификации.

docker service rollback web

Проверки работоспособности управляют обновлениями

Проверка контейнера с помощью HEALTHCHECK позволяет Swarm узнать, действительно ли новая реплика готова. В сочетании с политикой обновления это предотвращает переключение трафика на неисправные задачи.

HEALTHCHECK --interval=10s CMD curl -f http://localhost/ || exit 1

Глобальный и реплицируемый режимы

Реплицируемые сервисы запускают фиксированное количество задач, а глобальные сервисы — ровно одну задачу на каждом узле. Это идеально подходит для агентов, например сборщиков журналов. Масштабирование не применяется к глобальному режиму.

docker service create --mode global --name agent myagent

Быстрая проверка

Как поэтапное обновление сохраняет доступность сервиса?

Итоги

Теперь Вы уверенно умеете управлять сервисами Swarm:

  • docker service scale изменяет количество реплик
  • service update --image запускает поэтапные обновления
  • Параллелизм, задержка и --update-failure-action rollback управляют безопасностью
  • service rollback выполняет откат, а проверки работоспособности контролируют готовность

Вместе эти возможности обеспечивают развёртывания в Swarm без простоя.

Часто задаваемые вопросы

Урок «Масштабирование и обновления без простоя в Swarm» бесплатный?

Да — полный текст урока «Масштабирование и обновления без простоя в Swarm» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Docker & DevOps Fundamentals, подпишись на CoddyKit PRO. Курс Docker & DevOps Fundamentals содержит 4 уроков всего.

Чему я научусь в уроке «Масштабирование и обновления без простоя в Swarm»?

Масштабируйте службы в swarm, выполняйте поэтапные обновления без простоя и автоматически возвращайтесь к предыдущей версии при сбое обновления. Ты практикуешь Docker & DevOps Fundamentals с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Docker & DevOps Fundamentals?

Предыдущий опыт не требуется. Docker & DevOps Fundamentals на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Масштабирование и обновления без простоя в Swarm»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Docker & DevOps Fundamentals?

Да. Каждый урок Docker & DevOps Fundamentals включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Введение в Docker Swarm
  2. Настройка кластера Swarm
  3. Развёртывание сервисов в Swarm
  4. Масштабирование и обновления без простоя в Swarm
← Назад к Docker & DevOps Fundamentals