istio.io/content/uk/docs/concepts/wasm/index.md

3.7 KiB
Raw Blame History

title description weight keywords owner test
Розширюваність Описує систему втулків WebAssembly від Istio. 50
wasm
webassembly
emscripten
extension
plugin
filter
istio/wg-policies-and-telemetry-maintainers n/a

WebAssembly є технологією ізоляції, яку можна використовувати для розширення проксі Istio (Envoy). API для пісочниці Proxy-Wasm замінює Mixer як основний механізм розширення в Istio.

Цілі використання пісочниці WebAssembly:

  • Ефективність — розширення додає мінімальні затримки, навантаження на ЦП і використання пам’яті.
  • Функціональність — розширення може забезпечувати виконання політики, збір телеметрії та виконання мутацій корисного навантаження.
  • Ізоляція — помилка програмування або збій одного втулка не впливає на інші втулки.
  • Конфігурація — втулки налаштовуються за допомогою API, яке узгоджується з іншими API Istio. Розширення можна налаштувати динамічно.
  • Оператор — розширення можна випробувати в тестовому режимі, а також розгорнути з конфігурацією log-only, fail-open або fail-close.
  • Розробник розширень — втулок можна написати кількома мовами програмування.

Ця відеопрезентація є вступом до архітектури інтеграції WebAssembly.

Високорівнева архітектура

Розширення Istio (втулки Proxy-Wasm) мають кілька компонентів:

  • Інтерфейс постачальника фільтрів (SPI) для створення втулків Proxy-Wasm для фільтрів.
  • Пісочниця з V8 Wasm Runtime, вбудована в Envoy.
  • Host API для роботи з заголовками, трейлерами та метаданими.
  • API викликів для gRPC і HTTP запитів.
  • API статистики та ведення журналів для збору метрик і моніторингу.

{{< image width="80%" link="./extending.svg" caption="Розширення Istio/Envoy" >}}

Приклад

Приклад втулка Proxy-Wasm на C++ для фільтра можна знайти тут. Ви можете слідувати цьому посібнику для реалізації розширення Wasm за допомогою C++.

Екосистема