Yandex.Cloud
  • Сервисы
  • Почему Yandex.Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Yandex Compute Cloud
  • Начало работы
    • Обзор
    • Создание виртуальной машины Linux
    • Создание виртуальной машины Windows
    • Создание группы виртуальных машин
  • Пошаговые инструкции
    • Все инструкции
    • Создание виртуальной машины
      • Создать ВМ Linux
      • Создать ВМ Windows
      • Создать ВМ из набора дисков
      • Создать ВМ с дисками из снимков
      • Создать ВМ из пользовательского образа
      • Создать прерываемую ВМ
      • Создать ВМ c GPU
    • DSVM
      • Обзор
      • Создать ВМ из публичного образа DSVM
    • Группы размещения
      • Создать группу размещения
      • Удалить группу размещения
      • Создать ВМ в группе размещения
      • Добавить ВМ в группу размещения
      • Исключить ВМ из группы размещения
    • Образы с предустановленным ПО
      • Создать ВМ из публичного образа
      • Настроить ПО
      • Работа с ВМ на базе публичного образа
      • Получить список публичных образов
    • Получение информации о виртуальной машине
      • Получить информацию о ВМ
      • Получить вывод последовательного порта
    • Управление виртуальной машиной
      • Остановить и запустить ВМ
      • Подключить диск к ВМ
      • Отключить диск от ВМ
      • Перенести ВМ в другую зону доступности
      • Сделать публичный IP-адрес ВМ статическим
      • Изменить ВМ
      • Изменить вычислительные ресурсы ВМ
      • Удалить ВМ
    • Работа на виртуальной машине
      • Подключиться к ВМ по SSH
      • Подключиться к ВМ по RDP
      • Работа с Yandex.Cloud изнутри ВМ
      • Установить NVIDIA-драйверы
    • Создание нового диска
      • Создать пустой диcк
      • Создать пустой диск с блоком большого размера
    • Управление диском
      • Создать снимок диска
      • Изменить диск
      • Удалить диcк
      • Удалить снимок диска
    • Создание нового образа
      • Загрузить свой образ
    • Управление образом
      • Удалить образ
    • Управление серийной консолью
      • Начало работы
      • Подключиться к серийной консоли по SSH
      • Подключиться к серийной консоли с помощью CLI
      • Запустить командную оболочку в Windows SAC
      • Отключить доступ к серийной консоли
    • Создание группы виртуальных машин
      • Создать группу ВМ фиксированного размера
      • Создать группу ВМ фиксированного размера с балансировщиком
      • Создать автоматически масштабируемую группу ВМ
      • Создать группу ВМ с Container Optimized Image
    • Получение информации о группе виртуальных машин
      • Получить список групп ВМ
      • Получить информацию о группе ВМ
      • Получить список ВМ в группе
    • Управление группой виртуальных машин
      • Изменить группу ВМ
      • Настроить проверку состояния приложения на ВМ
      • Обновить группу
        • Постепенное обновление
        • Обновление без простоя
      • Остановить группу ВМ
      • Запустить группу ВМ
      • Удалить группу ВМ
    • Выделенные хосты
      • Создать ВМ в группе выделенных хостов
      • Создать ВМ на выделенном хосте
  • Yandex Container Solution
  • Сценарии использования
    • Настройка синхронизации времени NTP
    • Работа с группой ВМ с автоматическим масштабированием
  • Концепции
    • Взаимосвязь ресурсов
    • Виртуальные машины
      • Обзор
      • Платформы
      • Уровни производительности vCPU
      • Графические ускорители (GPU)
      • Прерываемые виртуальные машины
      • Сеть на виртуальной машине
      • Динамическая миграция
      • Группы размещения
      • Статусы
      • Метаданные
    • Диски
      • Обзор
      • Снимки дисков
    • Образы
    • Группы виртуальных машин
      • Обзор
      • Доступ
      • Шаблон виртуальной машины
      • Переменные в шаблоне виртуальной машины
      • Политики
        • Обзор
        • Политика распределения
        • Политика развертывания
        • Политика масштабирования
      • Типы масштабирования
      • Автоматическое восстановление
      • Обновление
        • Обзор
        • Распределение виртуальных машин по зонам
        • Алгоритм развертывания
        • Правила обновления виртуальных машин
      • Статусы
    • Выделенный хост
    • Резервное копирование
    • Квоты и лимиты
  • Управление доступом
  • Правила тарификации
    • Действующие правила
    • Архив
      • До 1 января 2019 года
      • С 1 января до 1 марта 2019 года
      • С 1 марта до 1 мая 2019 года
  • Справочник API
    • Аутентификация в API
    • gRPC
      • Обзор
      • DiskService
      • DiskTypeService
      • HostGroupService
      • HostTypeService
      • ImageService
      • InstanceService
      • PlacementGroupService
      • SnapshotService
      • ZoneService
      • InstanceGroupService
      • OperationService
    • REST
      • Обзор
      • Disk
        • Обзор
        • create
        • delete
        • get
        • list
        • listOperations
        • update
      • DiskType
        • Обзор
        • get
        • list
      • HostGroup
        • Обзор
        • create
        • delete
        • get
        • list
        • listHosts
        • listInstances
        • listOperations
        • update
      • HostType
        • Обзор
        • get
        • list
      • Image
        • Обзор
        • create
        • delete
        • get
        • getLatestByFamily
        • list
        • listOperations
        • update
      • Instance
        • Обзор
        • attachDisk
        • create
        • delete
        • detachDisk
        • get
        • getSerialPortOutput
        • list
        • listOperations
        • restart
        • start
        • stop
        • update
        • updateMetadata
      • PlacementGroup
        • Обзор
        • create
        • delete
        • get
        • list
        • listInstances
        • listOperations
        • update
      • Snapshot
        • Обзор
        • create
        • delete
        • get
        • list
        • listOperations
        • update
      • Zone
        • Обзор
        • get
        • list
      • Operation
        • Обзор
        • get
      • InstanceGroup
        • Обзор
        • createFromYaml
        • update
        • list
        • get
        • delete
        • start
        • stop
        • create
        • updateFromYaml
        • listLogRecords
        • listInstances
        • listOperations
  • Вопросы и ответы
    • Общие вопросы
    • Виртуальные машины
    • Диски и снимки
    • Аварийное восстановление
    • Лицензирование
    • Все вопросы на одной странице
  1. Пошаговые инструкции
  2. Создание группы виртуальных машин
  3. Создать группу ВМ с Container Optimized Image

Создать группу ВМ с Container Optimized Image

    Для запуска нескольких экземпляров сервиса в Docker-контейнерах вы можете создать группу виртуальных машин на базе образа Container Optimized Image. В такой группе обновлять Docker-контейнер можно с помощью метаданных ВМ используя COI или Docker Compose спецификацию.

    Внимание

    Создавая группы, учитывайте лимиты. Чтобы не нарушить работу компонента Instance Groups, не изменяйте и не удаляйте вручную созданные им ресурсы: целевую группу Load Balancer, виртуальные машины и диски. Для этого измените или удалите группу полностью.

    По умолчанию все операции в Instance Groups выполняются от имени сервисного аккаунта. Если сервисного аккаунта нет, создайте его.

    Чтобы создать группу ВМ на базе Container Optimized Image:

    1. Если у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.

    2. По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

    3. Посмотрите описание команды CLI для создания группы ВМ:

      CLI
      yc compute instance-group create --help
      
    4. Проверьте, есть ли в каталоге сети:

      CLI
      yc vpc network list
      

      Если нет ни одной сети, создайте ее.

    5. Создайте YAML-файл с именем, например, specification.yaml.

    6. Выберите последнюю версию образа Container Optimized Image из публичных образов.

      Узнайте идентификатор последней версии образа Container Optimized Image:

      CLI
      yc compute image get-latest-from-family container-optimized-image --folder-id standard-images
      id: <ID образа>
      folder_id: standard-images
      ...
      
    7. Опишите в YAML-файле specification.yaml, который вы создали:

      • Общую информацию о группе:

        name: container-optimized-group
        service_account_id: aje3932acd8avp6edhbt
        description: "This instance group was created from YAML config."
        

        Где:

        • name — произвольное имя группы ВМ. Имя должно быть уникальным в рамках каталога. Имя может содержать строчные буквы латинского алфавита, цифры и дефисы. Первый символ должен быть буквой. Последний символ не может быть дефисом. Максимальная длина имени — 63 символа.
        • service_account_id — идентификатор сервисного аккаунта.
        • description — произвольное описание группы ВМ.
      • Шаблон ВМ:

        instance_template:
          platform_id: standard-v1
          resources_spec:
            memory: 2G
            cores: 2
          boot_disk_spec:
            mode: READ_WRITE
            disk_spec:
              image_id: fd81a49qficqvt0dthu8
              type_id: network-hdd
              size: 32G
          network_interface_specs:
            - network_id: c64mknqgnd8avp6edhbt
              primary_v4_address_spec: {}
          metadata:
            docker-container-declaration: |-
              spec:
                containers:
                  - name: nginx
                    image: cr.yandex/mirror/nginx:1.17.4-alpine
                    securityContext:
                      privileged: false
                    tty: false
                    stdin: false
        

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

        Название Пример написания в YAML-файле
        Килобайт 1073741824k
        Мегабайт 1048576m
        Гигабайт 1024g
        Терабайт 1t

        Где:

        • platform_id — идентификатор платформы.
        • memory — количество памяти (RAM).
        • cores — количество ядер процессора (vCPU).
        • mode — режим доступа к диску.
          - READ_ONLY — доступ на чтение.
          - READ_WRITE — доступ на чтение и запись.
        • image_id — идентификатор публичного образа Container Optimized Image.
        • type_id — тип диска.
        • size — размер диска.
        • network_id — идентификатор сети default-net.
        • primary_v4_address_spec — спецификация версии интернет протокола IPv4. На данный момент доступен только протокол IPv4. Вы можете предоставить публичный доступ к ВМ группы, указав версию IP для публичного IP-адреса.
        • metadata — значения, которые будут переданы в метаданные ВМ.
        • docker-container-declaration — ключ в метаданных ВМ, при котором используется COI спецификация Docker-контейнера. Вы можете использовать в метаданных Docker Compose спецификацию, для этого вместо ключа docker-container-declaration укажите ключ docker-compose.
      • Политики:

        deploy_policy:
          max_unavailable: 1
          max_expansion: 0
        scale_policy:
          fixed_scale:
            size: 3
        allocation_policy:
          zones:
            - zone_id: ru-central1-a
        

        Где:

        • deploy_policy — политика развертывания ВМ в группе.
        • scale_policy — политика масштабирования ВМ в группе.
        • allocation_policy — политика распределения ВМ по зонам и регионам.

        Полный код файла specification.yaml:

        name: container-optimized-group
        service_account_id: aje3932acd8avp6edhbt
        description: "This instance group was created from YAML config."
        instance_template:
          service_account_id: aje3932acd8avp6edhbt # Идентификатор сервисного аккаунта для доступа к приватным Docker-образам.
          platform_id: standard-v1
          resources_spec:
            memory: 2G
            cores: 2
          boot_disk_spec:
            mode: READ_WRITE
            disk_spec:
              image_id: fd81a49qficqvt0dthu8
              type_id: network-hdd
              size: 32G
          network_interface_specs:
            - network_id: c64mknqgnd8avp6edhbt
              primary_v4_address_spec: {}
          metadata:
            docker-container-declaration: |-
              spec:
                containers:
                  - name: nginx
                    image: cr.yandex/mirror/nginx:1.17.4-alpine
                    securityContext:
                      privileged: false
                    tty: false
                    stdin: false
        deploy_policy:
          max_unavailable: 1
          max_expansion: 0
        scale_policy:
          fixed_scale:
            size: 3
        allocation_policy:
          zones:
            - zone_id: ru-central1-a
        

        Примечание

        Чтобы использовать в specification.yaml Docker Compose спецификацию, вместо ключа docker-container-declaration укажите ключ docker-compose.

    8. Создайте группу ВМ в каталоге по умолчанию:

      CLI
      yc compute instance-group create --file specification.yaml
      

      Команда создаст группу из трех однотипных ВМ со следующими характеристиками:

      • С именем container-optimized-group.
      • Из последней версии публичного образа Container Optimized Image.
      • С запущенным Docker-контейнером на основе cr.yandex/mirror/nginx:1.17.4-alpine.
      • В сети default-net.
      • В зоне доступности ru-central1-a.
      • С 2 vCPU и 2 ГБ RAM.
      • С сетевым HDD-диском объемом 32 ГБ.
    Language
    Вакансии
    Политика конфиденциальности
    Условия использования
    © 2021 ООО «Яндекс.Облако»