Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
Yandex Compute Cloud
  • Начало работы
    • Обзор
    • Создание виртуальной машины Linux
    • Создание группы виртуальных машин
  • Пошаговые инструкции
    • Все инструкции
    • Создание виртуальной машины
      • Создать ВМ Linux
      • Создать ВМ из набора дисков
      • Создать ВМ с дисками из снимков
      • Создать ВМ из пользовательского образа
      • Создать ВМ с GPU
      • Сделать ВМ прерываемой
    • DSVM
      • Обзор
      • Создать ВМ из публичного образа DSVM
    • Группы размещения
      • Создать группу размещения
      • Удалить группу размещения
      • Создать ВМ в группе размещения
      • Добавить ВМ в группу размещения
      • Исключить ВМ из группы размещения
    • Образы с предустановленным ПО
      • Создать ВМ из публичного образа
      • Настроить ПО
      • Работа с ВМ на базе публичного образа
      • Получить список публичных образов
    • Получение информации о виртуальной машине
      • Получить информацию о ВМ
      • Получить вывод последовательного порта
    • Управление виртуальной машиной
      • Остановить и запустить ВМ
      • Подключить диск к ВМ
      • Отключить диск от ВМ
      • Перенести ВМ в другую зону доступности
      • Перенести ВМ в другой каталог
      • Перенести ВМ в другое облако
      • Привязать к ВМ публичный IP-адрес
      • Отвязать от ВМ публичный IP-адрес
      • Сделать публичный IP-адрес ВМ статическим
      • Изменить ВМ
      • Изменить вычислительные ресурсы ВМ
      • Удалить ВМ
    • Работа на виртуальной машине
      • Подключиться к ВМ по SSH
      • Подключиться к ВМ по RDP
      • Подключиться к ВМ через PowerShell
      • Работа с Yandex Cloud изнутри ВМ
      • Установить NVIDIA-драйверы
      • Восстановить доступ к ВМ
    • Управление агентом для сброса паролей
      • Установить агент
    • Создание диска
      • Создать пустой диск
      • Создать пустой диск с блоком большого размера
      • Создать нереплицируемый диск
      • Восстановить диск с помощью снимка
    • Управление диском
      • Изменить диск
      • Настроить создание снимков диска по расписаниям
      • Перенести диск в другой каталог
      • Удалить диск
    • Снимки дисков
      • Создать снимок
      • Удалить снимок
      • Создать расписание снимков
      • Изменить расписание снимков
      • Остановить и запустить расписание снимков
      • Удалить расписание снимков
    • Группы размещения дисков
      • Создать группу размещения дисков
      • Удалить диск из группы размещения
    • Создание образа
      • Подготовить образ диска
      • Загрузить свой образ
      • Создать образ из диска
      • Создать образ из снимка диска
      • Создать образ из другого пользовательского образа
    • Управление образом
      • Получить список образов
      • Удалить образ
    • Файловые хранилища
      • Создать файловое хранилище
      • Подключить файловое хранилище к ВМ
      • Отключить файловое хранилище от ВМ
      • Изменить файловое хранилище
      • Удалить файловое хранилище
    • Управление серийной консолью
      • Начало работы
      • Подключиться к серийной консоли по SSH
      • Подключиться к серийной консоли с помощью CLI
      • Запустить командную оболочку в Windows SAC
      • Отключить доступ к серийной консоли
    • Создание группы виртуальных машин
      • Создать группу ВМ фиксированного размера
      • Создать группу ВМ фиксированного размера с сетевым балансировщиком
      • Создать группу ВМ фиксированного размера с L7-балансировщиком
      • Создать автоматически масштабируемую группу ВМ
      • Создать группу ВМ с Container Optimized Image
      • Создать группу ВМ по YAML-спецификации
    • Получение информации о группе виртуальных машин
      • Получить список групп ВМ
      • Получить информацию о группе ВМ
      • Получить список ВМ в группе
    • Управление группой виртуальных машин
      • Изменить группу ВМ
      • Изменить группу ВМ по YAML-спецификации
      • Настроить проверку состояния приложения на ВМ
      • Обновить группу
        • Постепенное обновление
        • Обновление без простоя
      • Приостановить процессы в группе ВМ
      • Возобновить процессы в группе ВМ
      • Остановить группу ВМ
      • Запустить группу ВМ
      • Удалить группу ВМ
    • Выделенные хосты
      • Создать группу выделенных хостов
      • Создать ВМ в группе выделенных хостов
      • Создать ВМ на выделенном хосте
  • Yandex Container Solution
  • Практические руководства
    • Все руководства
    • Настройка синхронизации часов с помощью NTP
    • Работа с группой ВМ с автомасштабированием
    • Масштабирование группы ВМ по расписанию
    • Автомасштабирование группы ВМ для обработки сообщений из очереди
    • Обновление группы ВМ под нагрузкой
    • Передача логов с ВМ в Yandex Cloud Logging
    • Сборка образа ВМ с набором инфраструктурных инструментов с помощью Packer
    • Резервное копирование ВМ с помощью Hystax Acura Backup
  • Концепции
    • Взаимосвязь ресурсов
    • Виртуальные машины
      • Обзор
      • Платформы
      • Уровни производительности vCPU
      • Прерываемые виртуальные машины
      • Сеть на виртуальной машине
      • Программно-ускоренная сеть
      • Динамическая миграция
      • Группы размещения
      • Статусы
      • Метаданные
    • Графические ускорители
    • Диски и файловые хранилища
      • Обзор
      • Диски
      • Снимки дисков
      • Создание снимков по расписаниям
      • Группы размещения нереплицируемых дисков
      • Файловые хранилища
      • Операции чтения и записи
    • Образы
    • Группы виртуальных машин
      • Обзор
      • Доступ
      • YAML-спецификация
      • Шаблон виртуальной машины
      • Переменные в шаблоне виртуальной машины
      • Политики
        • Обзор
        • Политика распределения
        • Политика развертывания
        • Политика масштабирования
      • Типы масштабирования
      • Автоматическое восстановление
      • Обновление
        • Обзор
        • Распределение виртуальных машин по зонам
        • Алгоритм развертывания
        • Правила обновления виртуальных машин
        • Изменение дополнительных дисков в шаблоне виртуальной машины
      • Остановка группы и приостановка процессов
      • Статусы
    • Выделенный хост
    • Резервное копирование
    • Квоты и лимиты
  • Управление доступом
  • Правила тарификации
    • Действующие правила
    • Архив
      • До 1 января 2019 года
      • С 1 января до 1 марта 2019 года
      • С 1 марта до 1 мая 2019 года
  • Справочник API
    • Аутентификация в API
    • gRPC (англ.)
      • Overview
      • DiskPlacementGroupService
      • DiskService
      • DiskTypeService
      • FilesystemService
      • HostGroupService
      • HostTypeService
      • ImageService
      • InstanceService
      • PlacementGroupService
      • SnapshotScheduleService
      • SnapshotService
      • ZoneService
      • InstanceGroupService
      • OperationService
    • REST (англ.)
      • Overview
      • DiskPlacementGroup
        • Overview
        • create
        • delete
        • get
        • list
        • listDisks
        • listOperations
        • update
      • Disk
        • Overview
        • create
        • delete
        • get
        • list
        • listOperations
        • move
        • update
      • DiskType
        • Overview
        • get
        • list
      • Filesystem
        • Overview
        • create
        • delete
        • get
        • list
        • listOperations
        • update
      • HostGroup
        • Overview
        • create
        • delete
        • get
        • list
        • listHosts
        • listInstances
        • listOperations
        • update
      • HostType
        • Overview
        • get
        • list
      • Image
        • Overview
        • create
        • delete
        • get
        • getLatestByFamily
        • list
        • listOperations
        • update
      • Instance
        • Overview
        • addOneToOneNat
        • attachDisk
        • attachFilesystem
        • create
        • delete
        • detachDisk
        • detachFilesystem
        • get
        • getSerialPortOutput
        • list
        • listOperations
        • move
        • removeOneToOneNat
        • restart
        • start
        • stop
        • update
        • updateMetadata
        • updateNetworkInterface
      • PlacementGroup
        • Overview
        • create
        • delete
        • get
        • list
        • listInstances
        • listOperations
        • update
      • SnapshotSchedule
        • Overview
        • create
        • delete
        • disable
        • enable
        • get
        • list
        • listDisks
        • listOperations
        • listSnapshots
        • update
        • updateDisks
      • Snapshot
        • Overview
        • create
        • delete
        • get
        • list
        • listOperations
        • update
      • Zone
        • Overview
        • get
        • list
      • Operation
        • Overview
        • get
      • InstanceGroup
        • Overview
        • createFromYaml
        • get
        • listAccessBindings
        • create
        • listLogRecords
        • update
        • start
        • delete
        • pauseProcesses
        • stop
        • setAccessBindings
        • listOperations
        • listInstances
        • updateAccessBindings
        • resumeProcesses
        • list
        • updateFromYaml
  • Вопросы и ответы
    • Общие вопросы
    • Виртуальные машины
    • Подключение
    • Диски, снимки, образы
    • Аварийное восстановление
    • Группы виртуальных машин
    • Мониторинг
    • Лицензирование
    • Все вопросы на одной странице
  1. Концепции
  2. Группы виртуальных машин
  3. Обновление
  4. Алгоритм развертывания

Алгоритм развертывания

Статья создана
Yandex Cloud
  • Пример работы алгоритма

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

Одна из особенностей алгоритма развертывания — перед удалением и обновлением через вызов update виртуальная машина всегда сначала останавливается отдельным вызовом stop. Удаление или обновление выполняется следующей итерацией.

Обновление атрибутов, не требующих остановки виртуальной машины (например, поля description), производится одновременно для всех запущенных машин, так как это не нарушает никаких ограничений.

Примечание

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

Пример работы алгоритма

Предположим, что есть группа из двух машин. Нужно расширить ее до трех, обновив при этом две старые машины на новую спецификацию. Ограничение max_expansion = 1 позволяет создавать дополнительную машину во время развертывания.

Поведение алгоритма:

  1. Создаются и запускаются две новые виртуальные машины.

    В этот момент в группе будут находиться две старые работающие машины и две новые.

  2. Останавливается одна из старых машин вызовом stop в Compute Cloud. Одна старая машина и две новых запущены, одна старая остановлена.

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

  3. Старая машина обновляется вызовом update в Compute Cloud, если это допустимо, или удаляется и создается заново.

    Будем считать, что отработал более простой сценарий — вызов update. Когда обновление завершится, в группе будет одна старая работающая машина, одна новая остановленная и две новых работающих.

  4. Запускается обновленная остановленная машина. Теперь в группе одна старая работающая машина и три новых работающих машины.

  5. Удаляется оставшаяся старая машина.

Алгоритм отработал в соответствии с ограничениями: в группе всегда было три работающих виртуальные машины.

Была ли статья полезна?

Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»