Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
Yandex Serverless Containers
  • Сопоставление с другими сервисами Yandex Cloud
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Получение IAM-токена сервисного аккаунта с помощью контейнера
    • Получение информации о контейнере
      • Получить список контейнеров
      • Получить список ревизий контейнера
      • Получить информацию о контейнере
      • Получить информацию о ревизии контейнера
    • Управление правами доступа к контейнеру
      • Сделать контейнер публичным
      • Сделать контейнер приватным
      • Посмотреть роли, назначенные на контейнер
      • Назначить роли на контейнер
      • Отозвать роли, назначенные на контейнер
    • Создание контейнера
      • Создать контейнер
      • Создать ревизию контейнера
    • Вызов контейнера
      • Вызвать контейнер
      • Получить ссылку для вызова
    • Управление контейнером
      • Изменить контейнер
        • Изменить имя
        • Изменить описание
      • Масштабировать контейнер
        • Посмотреть настройки масштабирования
        • Добавить настройки масштабирования
        • Удалить настройки масштабирования
      • Добавить переменные окружения
      • Указать облачную сеть
      • Передать секреты Yandex Lockbox
      • Управлять метками
        • Добавить метку
        • Изменить метку
        • Удалить метку
      • Посмотреть графики мониторинга
      • Посмотреть логи
      • Удалить контейнер
    • Получение информации о триггере
      • Получить список триггеров
      • Получить информацию о триггере
    • Создание триггера
      • Создать таймер
      • Создать триггер для Message Queue
      • Создать триггер для Object Storage
      • Создать триггер для Container Registry
      • Создать триггер для Cloud Logging
      • Создать триггер для Yandex IoT Core
      • Создать триггер для бюджетов
      • Создать триггер для Data Streams
      • Создать триггер для почты
    • Управление триггером
      • Изменить триггер
        • Изменить имя
        • Изменить описание
      • Посмотреть графики мониторинга
      • Удалить триггер
  • Концепции
    • Обзор
    • Контейнер
    • Вызов контейнера
    • Сетевое взаимодействие
    • Среда выполнения
    • Триггер
      • Обзор
      • Таймер
      • Триггер для Message Queue
      • Триггер для Object Storage
      • Триггер для Container Registry
      • Триггер для Cloud Logging
      • Триггер для Yandex IoT Core
      • Триггер для бюджетов
      • Триггер для Data Streams
      • Триггер для почты
    • Dead Letter Queue
    • Логи контейнера
    • Резервное копирование
    • Квоты и лимиты
  • Практические руководства
    • Разработка CRUD API для сервиса фильмов
  • Управление доступом
  • Правила тарификации
  • Справочник API Containers
    • Аутентификация в API
    • gRPC (англ.)
      • Overview
      • ContainerService
      • OperationService
    • REST (англ.)
      • Overview
      • Container
        • Overview
        • create
        • delete
        • deployRevision
        • get
        • getRevision
        • list
        • listAccessBindings
        • listOperations
        • listRevisions
        • rollback
        • setAccessBindings
        • update
        • updateAccessBindings
  • Справочник API Triggers
    • Аутентификация в API
    • gRPC (англ.)
      • Overview
      • TriggerService
      • OperationService
    • REST (англ.)
      • Overview
      • Trigger
        • Overview
        • create
        • delete
        • get
        • list
        • listOperations
        • pause
        • resume
        • update
  • Вопросы и ответы
  1. Пошаговые инструкции
  2. Создание контейнера
  3. Создать ревизию контейнера

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

Статья создана
Yandex Cloud
,
улучшена

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

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

    Примечание

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

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

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

    Консоль управления
    CLI
    API
    Terraform
    1. В консоли управления перейдите в каталог, в котором находится контейнер.
    2. Выберите сервис Serverless Containers.
    3. Выберите контейнер, ревизию которого хотите создать.
    4. Перейдите на вкладку Редактор.
    5. Укажите параметры ревизии.
    6. Нажмите кнопку Создать ревизию.

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

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

    Где:

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

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

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

      Примечание

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

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

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

    Результат:

    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
    

    Создать ревизию контейнера можно с помощью метода API deployRevision.

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

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

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

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

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

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

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

      provider "yandex" {
        token     = "<OAuth>"
        cloud_id  = "<идентификатор облака>"
        folder_id = "<идентификатор каталога>"
        zone      = "ru-central1-a"
      }
      
      resource "yandex_serverless_container" "test-container" {
         name               = "<имя контейнера>"
         memory             = <объем памяти>
         service_account_id = "<идентификатор сервисного аккаунта>"
         image {
             url = "<URL Docker-образа>"
         }
      }
      

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

    2. Проверьте корректность конфигурационных файлов.

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

      2. Выполните проверку с помощью команды:

        terraform plan
        

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

    3. Если в конфигурации нет ошибок, выполните команду:

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

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

      yc serverless container revision list
      

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

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