Среда выполнения
Приложение выполняется в виртуальном окружении.
Характеристики среды выполнения:
- операционная система — Ubuntu 22.04 LTS;
- ядро Linux — 5.15;
- архитектура — AMD64.
Поддерживаемые языки и образы
Приложение может быть написано на любом языке программирования и использовать любой образ, который удовлетворяет следующим требованиям:
- Исполняемые файлы скомпилированы под Linux x86_64.
- Доступные форматы образов — Docker Image Manifest V 2, Schema 2
и OCI Image Format .
Ответ контейнера
Процесс, который запускается при вызове контейнера, зависит от режима работы контейнера.
Вызов контейнера завершается в одном из следующих случаев:
- Serverless Containers обработал HTTP-запрос за заданный таймаут и вернул HTTP-ответ в соответствии с режимом работы контейнера. Таймаут включает в себя время запуска экземпляра контейнера.
- Serverless Containers не успел обработать HTTP-запрос за заданный таймаут и вернул ошибку 504.
- Произошла инфраструктурная ошибка или ошибка инициализации, информация о которой будет передана в теле ответа.
Переменные окружения
В таблице приведен список переменных окружения, которые определены в среде выполнения Serverless Containers и доступны приложению. Их нельзя переопределить.
Ключ | Значение |
---|---|
PORT |
Сетевой порт, на который среда выполнения передает HTTP-запросы в приложение. |
REQUEST_PATH |
Данные HTTP-запроса к контейнеру, если режим работы контейнера — Выполнение команд. |
Добавить дополнительные переменные окружения можно при создании ревизии контейнера или сборке Docker-образа. Лимит на максимальный объем переменных окружения, включая их имена, — 4 КБ.
Вычисление переменных окружения не осуществляется. Значения переменных окружения являются строковыми константами. Вычислить их можно только в коде приложения.
Получить переменные окружения можно с помощью стандартных средств языка программирования.
Файловая система
Файлы и директории образа контейнера доступны для чтения на файловой системе виртуальной среды. Файловая система доступна на запись. Доступный для записи объем ограничен, подробнее см. Квоты и лимиты.
Файловая система хранится в RAM. Данные, записанные в файловую систему, не сохраняются при остановке экземпляра контейнера.
Ресурсы экземпляра контейнера
CPU
Ресурс CPU выделяется всегда, когда экземпляр контейнера обрабатывает хотя бы один запрос. В настоящий момент доступно не более 4 vCPU.
RAM
Каждому экземпляру контейнера выделяется ресурс RAM. По умолчанию — 128 МБ.
Например, RAM расходуется при:
- записи в файловую систему;
- запуске процессов в контейнере;
- обработке запросов.
Соотношение RAM и vCPU
Количество доступных ядер зависит от указанного объема памяти.
RAM | CPU |
---|---|
128 МБ – 4 ГБ (не включительно) | 1 vCPU, гарантированная доля vCPU — до 100 % |
4 ГБ – 6 ГБ (не включительно) | 2 vCPU, гарантированная доля vCPU — до 100 % |
6 ГБ – 8 ГБ (не включительно) | 3 vCPU, гарантированная доля vCPU — до 100 % |
8 ГБ | 4 vCPU, гарантированная доля vCPU — до 100 % |
Сервис метаданных
Внутри виртуальной среды выполнения контейнера доступен сервис метаданных. Из сервиса метаданных можно получить IAM-токен сервисного аккаунта, если сервисный аккаунт был указан при создании ревизии контейнера.