Розширюваність

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 статистики та ведення журналів для збору метрик і моніторингу.
Розширення Istio/Envoy
Розширення Istio/Envoy

Приклад

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

Екосистема

Чи була ця інформація корисною?
Чи є у вас пропозиції щодо покращення?

Дякуємо за ваш відгук!