Среда выполнения
Приложение выполняется в виртуальном окружении.
Характеристики среды выполнения:
- операционная система — Ubuntu 22.04 LTS;
- ядро Linux — 5.15;
- архитектура — AMD64.
Поддерживаемые языки и образы
Приложение может быть написано на любом языке программирования и использовать любой образ, который удовлетворяет следующим требованиям:
- Исполняемые файлы скомпилированы под Linux x86_64.
- Доступные форматы образов — Docker Image Manifest V 2, Schema 2
и OCI Image Format .
Ответ контейнера
Приложение должно определять номер порта, на котором принимать запросы, из переменной окружения PORT
. Значение переменной задается сервисом автоматически.
После получения запроса экземпляр контейнера должен отправить ответ в течение времени, которое указано в поле Таймаут, с в настройках ревизии контейнера. Оно включает в себя время запуска экземпляра контейнера. В противном случае запрос завершается и возвращается ошибка 504.
Переменные окружения
В таблице приведен список переменных окружения, которые определены в среде выполнения Serverless Containers и доступны приложению. Их нельзя переопределить.
Ключ | Значение |
---|---|
PORT | Сетевой порт, на который среда выполнения передает 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-токен сервисного аккаунта, если сервисный аккаунт был указан при создании ревизии контейнера.