Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Serverless Containers
  • Сопоставление с другими сервисами Yandex Cloud
    • Все инструкции
    • Получение IAM-токена сервисного аккаунта с помощью контейнера
      • Создать контейнер
      • Создать ревизию контейнера
    • Просмотр операций с ресурсами сервиса
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Аудитные логи Audit Trails
  • История изменений
  • Вопросы и ответы
  1. Пошаговые инструкции
  2. Создание контейнера
  3. Создать ревизию контейнера

Создать ревизию контейнера

Статья создана
Yandex Cloud
Улучшена
Обновлена 25 декабря 2024 г.

Создавать новую ревизию необходимо в следующих случаях:

  • загрузка новой версии Docker-образа в Yandex Container Registry;
  • изменение настроек ревизии.

Примечание

Для сохранения целостности связей изменение и удаление ревизий контейнера не предусмотрено.

Если реестр или репозиторий с Docker-образом не являются публичными, необходимо указать в настройках ревизии сервисный аккаунт, у которого есть права на скачивание Docker-образа. Например, роль container-registry.images.puller на каталог или реестр, в которых находится Docker-образ.

Если в настройках ревизии указан сервисный аккаунт, у пользователя или сервисного аккаунта, от имени которого создается ревизия, должна быть роль iam.serviceAccounts.user. Она подтверждает права на использование сервисного аккаунта.

Консоль управления
CLI
Terraform
API
  1. В консоли управления перейдите в каталог, в котором находится контейнер.

  2. Выберите сервис Serverless Containers.

  3. Выберите контейнер, ревизию которого хотите создать.

  4. Перейдите на вкладку Редактор.

  5. В разделе Параметры образа:

    • Укажите URL Docker-образа из Yandex Container Registry.
    • Если необходимо, дополнительно укажите параметры ревизии:
      • Команда — команды, которые контейнер выполнит при запуске. Соответствует инструкции ENTRYPOINT в Dockerfile.

      • Аргументы — соответствует инструкции CMD в Dockerfile. Аргументы указываются в формате ключ = значение. Если не указано, будет использоваться значение CMD по умолчанию из Docker-образа.

        В контейнер можно передать несколько аргументов. Для этого нажмите Добавить.

      • Рабочая директория — позволяет изменить рабочую директорию контейнера. Соответствует инструкции WORKDIR в Dockerfile. Рекомендуется устанавливать абсолютные пути к папкам.

  6. Нажмите кнопку Создать ревизию.

Чтобы создать ревизию контейнера, выполните команду:

yc serverless container revision deploy \
  --container-name <имя_контейнера> \
  --image <URL_Docker-образа> \
  --cores 1 \
  --memory 1GB \
  --concurrency 1 \
  --execution-timeout 30s \
  --service-account-id <идентификатор_сервисного_аккаунта> \
  --command '<команда_1>','<команда_2>' \
  --args '<ключ_1=значение_1>','<ключ_2=значение_2>'

Где:

  • --cores — количество ядер, которые доступны контейнеру.

  • --memory — требуемая память. По умолчанию — 128 МБ.

  • --concurrency — максимальное количество одновременных вызовов одного экземпляра контейнера. По умолчанию — 1, максимальное значение — 16. Если вызовов контейнера больше, чем значение concurrency, Serverless Containers масштабирует контейнер — запускает его дополнительные экземпляры.

    Примечание

    Количество экземпляров контейнеров и одновременных запросов к ним в каждой зоне доступности не может превышать квоты.

  • --execution-timeout — таймаут. По умолчанию — 3 секунды.

  • --service-account-id — идентификатор сервисного аккаунта, у которого есть права на скачивание Docker-образа.

  • --command — команды, которые контейнер выполнит при запуске. Указываются через запятую. Соответствует инструкции ENTRYPOINT в Dockerfile.

  • --args — аргументы, соответствует инструкции CMD в Dockerfile. Указываются в формате ключ = значение через запятую. Если не указано, будет использоваться значение CMD по умолчанию из Docker-образа.

Результат:

id: bbajn5q2d74c********
container_id: bba3fva6ka5g********
created_at: "2021-07-09T15:04:55.135Z"
image:
  image_url: cr.yandex/crpd3cicopk7********/test-container:latest
  image_digest: sha256:de8e1dce7ceceeafaae122f7670084a1119c961cd9ea1795eae92bd********
resources:
  memory: "1073741824"
  cores: "1"
execution_timeout: 3s
service_account_id: ajeqnasj95o7********
status: ACTIVE

Terraform позволяет быстро создать облачную инфраструктуру в Yandex Cloud и управлять ею с помощью файлов конфигураций. В файлах конфигураций хранится описание инфраструктуры на языке HCL (HashiCorp Configuration Language). При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.

Terraform распространяется под лицензией Business Source License, а провайдер Yandex Cloud для Terraform — под лицензией MPL-2.0.

Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform или в зеркале.

Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.

В Terraform ревизия создается при каждом обновлении параметров работы ресурса.

Чтобы создать ревизию:

  1. Обновите в конфигурационном файле параметры ресурса yandex_serverless_container:

    resource "yandex_serverless_container" "test-container" {
      name               = "<имя_контейнера>"
      cores              = "<количество_ядер>"
      memory             = "<объем_памяти>"
      concurrency        = "<одновременные_вызовы>"
      service_account_id = "<идентификатор_сервисного_аккаунта>"
      image {
        url      = "<URL_Docker-образа>"
        command  = ["<команда_1>","<команда_2>"]
        args     = ["<ключ_1=значение_1>","ключ_2=значение_2"]
        work_dir = "<рабочая_директория>"
      }
    }
    

    Где:

  • cores — количество ядер, которые доступны контейнеру.

  • memory — требуемая память. По умолчанию — 128 МБ.

  • concurrency — максимальное количество одновременных вызовов одного экземпляра контейнера. По умолчанию — 1, максимальное значение — 16. Если вызовов контейнера больше, чем значение concurrency, Serverless Containers масштабирует контейнер — запускает его дополнительные экземпляры.

    Примечание

    Количество экземпляров контейнеров и одновременных запросов к ним в каждой зоне доступности не может превышать квоты.

  • command — команды, которые контейнер выполнит при запуске. Указываются через запятую. Соответствует инструкции ENTRYPOINT в Dockerfile.

  • args — аргументы, соответствует инструкции CMD в Dockerfile. Указываются в формате ключ = значение через запятую. Если не указано, будет использоваться значение CMD по умолчанию из Docker-образа.

  • work_dir — позволяет изменить рабочую директорию контейнера. Соответствует инструкции WORKDIR в Dockerfile. Рекомендуется устанавливать абсолютные пути к папкам.

Более подробную информацию о параметрах ресурса yandex_serverless_container в Terraform, см. в документации провайдера.

  1. Создайте ресурсы:

    1. В терминале перейдите в папку, где вы отредактировали конфигурационный файл.

    2. Проверьте корректность конфигурационного файла с помощью команды:

      terraform validate
      

      Если конфигурация является корректной, появится сообщение:

      Success! The configuration is valid.
      
    3. Выполните команду:

      terraform plan
      

      В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.

    4. Примените изменения конфигурации:

      terraform apply
      
    5. Подтвердите изменения: введите в терминале слово yes и нажмите Enter.

    После этого будет создана ревизия. Проверить создание ревизии можно в консоли управления или с помощью команды CLI:

    yc serverless container revision list
    

Чтобы создать ревизию контейнера, воспользуйтесь методом REST API deployRevision для ресурса Container или вызовом gRPC API ContainerService/DeployRevision.

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

Предыдущая
Создать контейнер
Следующая
Вызвать контейнер
Проект Яндекса
© 2025 ООО «Яндекс.Облако»