Швидкий, безпечний та простий: режим ambient в Istio досяг стану загальної доступності (GA) у версії 1.24

Останній випуск показує, що режим ambient, сервісна мережа без sidecars, готовий для всіх.

Nov 7, 2024 | Від Lin Sun - Solo.io, від імені SIstio Steering та Technical Oversight Committees

Ми раді оголосити, що режим ambient панелі даних Istio досяг стану Загальної Доступності, і модулі ztunnel, waypoints та API були позначені як Stable Комітетом технічного нагляду Istio. Це знаменує фінальну стадію прогресу функцій Istio, що сигналізує, що режим ambient повністю готовий для широкого використання в промислових середовищах.

Ambient mesh, і його референсна реалізація в режимі ambient Istio, була анонсована у вересні 2022 року. З того часу наша спільнота працювала 26 місяців завдяки співпраці з Solo.io, Google, Microsoft, Intel, Aviatrix, Huawei, IBM, Red Hat та багатьма іншими. Статус стабільності у версії 1.24 свідчить, що функції режиму ambient тепер повністю готові для широкого використання у промислових робочих навантаженнях. Це важливий етап для Istio, оскільки він дозволяє використовувати Istio без sidecars, пропонуючи користувачам вибір.

Навіщо ambient mesh?

З моменту запуску Istio у 2017 році ми помітили чіткий і зростаючий попит на можливості mesh для застосунків, але багато користувачів повідомляли, що накладні витрати ресурсів і операційна складність sidecars були важкими для подолання. Виклики, з якими стикаються користувачі Istio, включають те, як sidecars можуть порушити роботу застосунків після їхнього додавання, великі вимоги до CPU та памʼяті для проксі з кожним робочим навантаженням і незручність необхідності перезапуску застосунків при кожному новому випуску Istio.

Ми як спільнота розробили ambient mesh з нуля, щоб подолати ці проблеми, усуваючи попередні барʼєри складності для користувачів, які хочуть впровадити сервісну мережу. Нова концепція була названа “ambient mesh”, оскільки вона була розроблена так, щоб бути прозорою для вашого застосунку: без проксі, розташованих поруч з робочими навантаженнями користувачів, без необхідності змінювати конфігурацію для підключення і без перезапуску застосунків. В режимі ambient дуже легко додавати або видаляти застосунки з mesh. Все, що вам потрібно зробити, це позначити простір імен, і всі застосунки в цьому просторі імен будуть миттєво додані до mesh. Це одразу ж захистить весь трафік у цьому просторі імен за допомогою стандартного в галузі шифрування mTLS, без додаткових налаштувань чи перезапусків! Більше інформації про причини створення режиму ambient в Istio можна знайти у блозі “Introducing Ambient Mesh”.

Як режим ambient полегшує адаптацію?

Основна інновація ambient mesh полягає у розподілі обробки рівнів L4 (Layer 4) та L7 (Layer 7) на два окремих шари. Ambient режим Istio працює завдяки легким, спільним проксі L4 на рівні вузлів та додатковим проксі L7, що усуває потребу у традиційних sidecar-проксі в панелі даних. Цей пошарований підхід дозволяє впроваджувати Istio поступово, переходячи від відсутності mesh до захищеного оверлею (L4) і до повної обробки L7, за потреби, на основі простору імен, у межах вашої інфраструктури.

Використовуючи ambient mesh, користувачі можуть уникнути деяких обмежень моделі sidecar. Протоколи, що надсилають дані з сервера, тепер працюють, більшість зарезервованих портів доступні, а можливість для контейнерів обійти сайдкар, навмисно чи ненавмисно, усунена.

Легкий спільний L4 проксі на рівні вузла називається ztunnel (тунель з нульовою довірою). ztunnel значно знижує витрати на утримання mesh, усуваючи необхідність можливого перевищення використання ресурсів пам’яті та CPU в кластері для обробки очікуваних навантажень. У деяких випадках економія може перевищити 90% або більше, забезпечуючи при цьому безпеку з нульовою довірою з використанням mTLS, простих авторизаційних політик L4 та телеметрії.

L7 проксі називаються waypoints. Waypoints обробляють функції L7, такі як маршрутизація трафіку, розширене застосування політики авторизації та стійкість корпоративного рівня. Waypoints працюють окремо від ваших розгортань застосунків та можуть масштабуватися незалежно від ваших потреб, які можуть охоплювати весь простір імен або декілька сервісів в ньому. Порівняно з sidecar, вам не потрібен один waypoint на кожен pod застосунку, і ви можете ефективно масштабувати waypoint відповідно до його області дії, заощаджуючи значну кількість CPU та пам’яті у більшості випадків.

Розділення між захисним оверлеєм L4 та шаром обробки L7 дозволяє поступово впроваджувати ambient режим панелі даних, на відміну від попередньої бінарної моделі “все-в-одному” з інʼєкцією sidecarʼів. Користувачі можуть почати з захисного L4 оверлею, який пропонує більшість функцій, для яких зазвичай впроваджується Istio (mTLS, авторизаційна політика та телеметрія). Складніша обробка L7, така як повторні спроби, розподіл трафіку, балансування навантаження та збір даних для спостереження, може бути увімкнена за необхідності.

Швидке дослідження та впровадження режиму ambient

Завантаження образу ztunnel на Docker Hub перевищило 1 мільйон, причому лише за останній тиждень його завантажили близько 63 000 разів.

Завантаження Istio ztunnel на Docker Hub!

Ми запитали у кількох наших користувачів їхню думку про режим ambient у статусі GA:

Що входить у сферу дії?

Загальна доступність режиму ambient означає, що наступні речі тепер вважаються стабільними:

Більше інформації дивіться на сторінці статусу функцій.

Плани

Ми не зупиняємося! Існує кілька функцій, над якими ми продовжуємо працювати для майбутніх випусків, включаючи деякі, які зараз перебувають на стадії Alpha/Beta.

У наших майбутніх випусках ми плануємо швидко розвивати такі розширення режиму ambient:

Що з sidecar?

Sidecar не зникнуть і залишаються важливим елементом в Istio. Ви можете продовжувати використовувати sidecar, і вони залишатимуться повністю підтримуваними. Хоча ми вважаємо, що більшість сценаріїв найкраще обслуговуватимуться мережею в режимі ambient, проєкт Istio залишається відданим подальшій підтримці режиму sidecar.

Спробуйте режим ambient сьогодні

З випуском Istio 1.24 та загальною доступністю режиму ambient тепер легше, ніж будь-коли, випробувати Istio на власних робочих навантаженнях.

Ви можете поспілкуватися з розробниками в каналі #ambient на Istio Slack або використовувати форум обговорень на GitHub для будь-яких запитань.

Share this post