Песочницы
Область применения: ✅Azure Data Explorer
Kusto может запускать песочницы для определенных потоков, которые должны выполняться в безопасной и изолированной среде. Примерами этих потоков являются пользовательские скрипты, которые выполняются с помощью подключаемого модуля Python или подключаемого модуля R.
Песочницы выполняются локально (то есть обработка выполняется близко к данным) без дополнительной задержки для удаленных вызовов.
Предварительные требования и ограничения
- Песочницы должны работать на размерах виртуальных машин, поддерживающих вложенную виртуализацию, которая реализована с помощью технологии Hyper-V и не имеет ограничений.
- Образ для запуска песочниц развертывается на каждом узле кластера и требует выделенного пространства SSD для выполнения.
- Предполагаемый размер составляет от 10 до 20 ГБ.
- Это влияет на емкость данных кластера и может повлиять на стоимость кластера.
Параметры выполнения
- Для выполнения изолированного оператора запроса может использоваться один или несколько песочниц.
- Песочница используется только для одного запроса и удаляется после завершения этого запроса.
- При перезапуске узла, например при обновлении службы, удаляются все работающие песочницы.
- Каждый узел поддерживает предопределенное количество песочниц, готовых к выполнению входящих запросов.
- После использования песочницы новый автоматически становится доступным для замены.
- Если для обслуживания оператора запроса нет предварительно выделенных песочниц, он будет регулироваться до тех пор, пока новые песочницы не будут доступны. Дополнительные сведения см. в разделе об ошибках. Новое выделение песочницы может занять до 10–15 секунд на песочницу в зависимости от номера SKU и доступных ресурсов на узле данных.
Параметры песочницы
Некоторые параметры можно контролировать с помощью политики песочницы на уровне кластера для каждого вида песочницы.
- Количество песочниц на узел: количество песочниц на узел ограничено.
- Запросы, сделанные при отсутствии доступной песочницы, будут регулироваться.
- Инициализация при запуске: если задано
false
значение (по умолчанию), песочницы инициализированы на узле, при первом выполнении запроса требуется песочница. В противном случае, если задано значениеtrue
, песочницы инициализированы в рамках запуска службы.- Это означает, что первое выполнение подключаемого модуля, использующего песочницы на узле, будет включать короткий период прогрева.
- ЦП: максимальная скорость ЦП песочницы может использовать процессоры узла ограничено (по умолчанию —
50%
).- Когда ограничение достигнуто, использование ЦП песочницы регулируется, но выполнение продолжается.
- Память: максимальный объем ОЗУ песочницы может использовать ОЗУ узла.
- Память по умолчанию для технологии Hyper-V составляет 1 ГБ, а для устаревших песочниц — 20 ГБ.
- Достижение предела приводит к прекращению песочницы и ошибке выполнения запроса.
Ограничения песочницы
- Сеть: песочница не может взаимодействовать с любым ресурсом на виртуальной машине или за ее пределами.
- Песочница не может взаимодействовать с другой песочницей.
Примечание.
Ресурсы, используемые с песочницей, зависят не только от размера обрабатываемых данных в рамках запроса, но и от логики, которая выполняется в песочнице, и реализации библиотек, используемых им.
Например, для python
подключаемых модулей последний означает предоставленный пользователем скрипт и r
библиотеки Python или R, которые он использует во время выполнения.
ошибки
ErrorCode | Состояние | Сообщение | Потенциальная причина |
---|---|---|---|
E_SB_QUERY_THROTTLED_ERROR | TooManyRequests (429) | Изолированный запрос был прерван из-за регулирования. Повторная попытка после некоторого обратного выхода может завершиться успешно | На целевом узле нет доступных песочниц. Новые песочницы должны стать доступными через несколько секунд |
E_SB_QUERY_THROTTLED_ERROR | TooManyRequests (429) | Песочницы типа "{kind}" еще не инициализированы | Политика песочницы недавно изменилась. Новые песочницы, подчиняющиеся новой политике, будут доступны через несколько секунд. |
InternalServiceError (520) | Изолированный запрос был прерван из-за сбоя при инициализации песочниц | Непредвиденная ошибка инфраструктуры. |
Размеры виртуальных машин, поддерживающие вложенную виртуализацию
В следующей таблице перечислены все современные размеры виртуальных машин, поддерживающие технологию песочницы Hyper-V.
Имя | Категория |
---|---|
Standard L8s_v3 | Оптимизированные для операций в хранилище |
Standard L16s_v3 | Оптимизированные для операций в хранилище |
Standard_L8as_v3 | Оптимизированные для операций в хранилище |
Standard_L16as_v3 | Оптимизированные для операций в хранилище |
Standard_E8as_v5 | Оптимизированные для операций в хранилище |
Standard_E16as_v5 | Оптимизированные для операций в хранилище |
Standard_E8s_v4 | Оптимизированные для операций в хранилище |
Standard_E16s_v4 | Оптимизированные для операций в хранилище |
Standard_E8s_v5 | Оптимизированные для операций в хранилище |
Standard_E16s_v5 | Оптимизированные для операций в хранилище |
Standard_E2ads_v5 | Оптимизированные для вычислений |
Standard_E4ads_v5 | Оптимизированные для вычислений |
Standard_E8ads_v5 | Оптимизированные для вычислений |
Standard_E16ads_v5 | Оптимизированные для вычислений |
Standard_E2d_v4 | Оптимизированные для вычислений |
Standard_E4d_v4 | Оптимизированные для вычислений |
Standard_E8d_v4 | Оптимизированные для вычислений |
Standard_E16d_v4 | Оптимизированные для вычислений |
Standard_E2d_v5 | Оптимизированные для вычислений |
Standard_E4d_v5 | Оптимизированные для вычислений |
Standard_E8d_v5 | Оптимизированные для вычислений |
Standard_E16d_v5 | Оптимизированные для вычислений |
Standard_D32d_v4 | Оптимизированные для вычислений |