Що таке Istio?
Istio — це сервісна мережа з відкритим вихідним кодом, яка прозоро накладається на наявні розподілені застосунки. Потужні функції Istio забезпечують уніфікований та більш ефективний спосіб захисту, підключення та моніторингу сервісів. Istio — це шлях до балансування навантаження, міжсервісної автентифікації та моніторингу, з невеликими змінами в коді сервісів або взагалі без них. Це дає вам:
- Захищений звʼязок між сервісами в кластері зі взаємним шифруванням TLS, надійною автентифікацією та авторизацією на основі ідентифікаційних даних
- Автоматичне балансування навантаження для HTTP, gRPC, WebSocket та TCP трафіку
- Тонкий контроль поведінки трафіку за допомогою розширених правил маршрутизації, повторних спроб, обходів відмов та інʼєкцій збоїв
- Підключаємий рівень політик і API конфігурації, що підтримує контроль доступу, обмеження швидкості та квоти
- Автоматичні метрики, журнали та трасування для всього трафіку в кластері, включаючи вхідний та вихідний трафік кластера
Istio спроєктований для розширюваності та може впоратися з різноманітними потребами розгортання. Панель управління Istio працює в Kubernetes, і ви можете додавати застосунки, розгорнуті в цьому кластері, до вашої мережі, розширювати мережу на інші кластери, або навіть підключати ВМ або інші точки доступу, що працюють поза Kubernetes.
Велика екосистема учасників, партнерів, інтеграторів та дистрибʼюторів розширює та використовує Istio для широкого спектра сценаріїв. Ви можете встановити Istio самостійно або велика кількість постачальників мають продукти, в які інтегровано Istio, та управляють ним для вас.
Як це працює
Istio використовує проксі для перехоплення всього вашого мережевого трафіку, дозволяючи великий набір функцій, орієнтованих на застосунок, на основі конфігурації, яку ви встановлюєте.
Панель управління бере вашу бажану конфігурацію і своє уявлення про сервіси, і динамічно програмує проксі-сервери, оновлюючи їх в міру зміни правил або середовища.
Панель даних — це комунікація між сервісами. Без сервісної мережі мережа не розуміє, який трафік надсилається, і не може приймати жодних рішень на основі типу трафіку, від кого він або для кого.
Istio підтримує два режими панелі даних:
- режим sidecar, який розгортає проксі Envoy разом з кожним Podʼом, що ви запускаєте у вашому кластері, або працює поряд із сервісами, що працюють на ВМ.
- режим оточення (ambient), який використовує проксі рівня 4 для кожного вузла, і опціонально проксі Envoy рівня 7 для функцій рівня 7.