-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[uk] Updating the translation into Ukrainian (#15878)
* Add Ukrainian language support * [uk] Add new blog posts for Istio community updates and events in 2024 * [uk] faq update * [uk] update boilerplates * [uk] update ambient * [uk] update concepts/security * [uk] examples * [uk] operations * [uk] releases * [uk] setup * [uk] tasks * [uk] news * [uk] main page
- Loading branch information
Showing
113 changed files
with
2,292 additions
and
1,199 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
--- | ||
title: "Масштабування в хмарі: Istio Ambient проти Cilium" | ||
description: Глибоке занурення в ефективність при масштабуванні. | ||
publishdate: 2024-10-21 | ||
attribution: "Mitch Connors" | ||
keywords: [istio,cilium,analysis] | ||
--- | ||
|
||
Звичне питання від потенційних користувачів Istio: "Як порівняти Istio з Cilium?" Хоча спочатку Cilium пропонував лише функціональність L3/L4, включаючи мережеву політику, останні релізи додали функції сервісної мережі за допомогою Envoy, а також шифрування за допомогою WireGuard. Як і Istio, Cilium є проєктом, що досяг статусу CNCF Graduated, та присутній у спільноті протягом багатьох років. | ||
|
||
Попри подібний набір функцій, ці два проєкти мають суттєво різні архітектури, особливо в тому, як Cilium використовує eBPF та WireGuard для обробки та шифрування L4-трафіку в ядрі, на відміну від Istio, який використовує компонент ztunnel для L4 у просторі користувача. Ці відмінності породили чимало припущень щодо продуктивності Istio на великих масштабах у порівнянні з Cilium. | ||
|
||
Хоча вже було зроблено чимало порівнянь щодо моделей оренди, протоколів безпеки та базової продуктивності двох проєктів, повна оцінка на рівні корпоративного масштабу ще не опублікована. Замість теоретичних показників продуктивності, ми випробували режим ambient в Istio та Cilium у реальних навантаженнях, зосередившись на таких ключових метриках, як затримка, пропускна здатність та споживання ресурсів. Ми збільшили навантаження у реалістичних сценаріях для Kubernetes, і врешті-решт розширили наш кластер AKS до 1 000 вузлів на 11 000 ядрах, щоб зрозуміти, як ці проєкти поводяться на великих масштабах. Наші результати показують, що обидва проєкти мають місце для вдосконалення, але також вказують, що Istio є очевидним переможцем. | ||
|
||
## Сценарій тестування {#test-scenario} | ||
|
||
Щоб випробувати Istio та Cilium на межі можливостей, ми створили 500 різних сервісів, кожен з яких підтримувався 100 подами. Кожен сервіс був створений в окремому просторі імен, який також містив клієнта для навантаження [Fortio](https://fortio.org/). Ми обмежили клієнтів пулом вузлів зі 100 32-ядерних машин, щоб усунути шум від спільних клієнтів, та виділили решту 900 8-ядерних екземплярів для наших сервісів. | ||
|
||
{{< image width="60%" | ||
link="./scale-scenario.png" | ||
alt="Масштабування до 500 сервісів з 50 000 подами." | ||
>}} | ||
|
||
Для тесту Istio ми використали його режим ambient з [waypoint проксі](/docs/ambient/usage/waypoint/) у кожному просторі імен сервісу та стандартними параметрами інсталяції. Щоб зробити наші тестові сценарії схожими, ми увімкнули кілька нестандартних функцій у Cilium, включаючи шифрування WireGuard, L7-проксі та Node Init. Ми також створили мережеву політику Cilium у кожному просторі імен з правилами на основі HTTP-шляхів. У кожному сценарії ми створили зміни, масштабуючи один сервіс випадковим чином між 85 і 115 екземплярами щосекунди та переіменовуючи один простір імен щохвилини. Для перегляду точних налаштувань, які ми використовували, та для відтворення наших результатів, дивіться [ці нотатки](https://github.com/therealmitchconnors/tools/blob/2384dc26f114300687b21f921581a158f27dc9e1/perf/load/many-svc-scenario/README.md). | ||
|
||
## Оцінка масштабованості {#scalability-scorecard} | ||
|
||
{{< image width="80%" | ||
link="./scale-scorecard.png" | ||
alt="Оцінка масштабованості: Istio проти Cilium!" | ||
>}} | ||
|
||
Istio вдалося обробити на 56% більше запитів за 20% меншої затримки. Споживання ресурсів процесора було на 30% менше у Cilium, хоча наші вимірювання не враховують ядра, які Cilium використовував для обробки шифрування, що здійснюється у ядрі. | ||
|
||
Враховуючи використані ресурси, Istio обробила 2178 запитів на ядро проти 1815 у Cilium, що є покращенням на 20%. | ||
|
||
* **Уповільнення Cilium:** Хоча Cilium має напрочуд низьку затримку зі стандартними параметрами встановлення, він значно уповільнюється, коли активуються основні функції Istio, такі як політики L7 та шифрування. Крім того, споживання памʼяті та процесора в Cilium залишалося високим, навіть коли в мережі не було трафіку. Це може вплинути на загальну стабільність та надійність вашого кластера, особливо при його зростанні. | ||
* **Istio — стабільний гравець:** Режим ambient в Istio продемонстрував свою силу у стабільності та підтримці пристойної пропускної здатності, навіть з додатковим навантаженням через шифрування. Хоча Istio споживав більше памʼяті та процесора ніж Cilium під час тесту, використання процесора стабілізувалося на рівні, що значно нижчий, ніж у Cilium, коли мережа не була навантажена. | ||
|
||
## За лаштунками: Чому така різниця? {#behind-the-scenes-why-the-difference} | ||
|
||
Ключ до розуміння цих відмінностей у продуктивності лежить в архітектурі та дизайні кожного інструменту. | ||
|
||
* **Дилема панелі управління Cilium:** Cilium запускає екземпляр панелі управління на кожному вузлі, що спричиняє навантаження на API-сервер та створює додаткові конфігураційні складнощі зі збільшенням кластера. Це часто призводило до збоїв API-сервера, через що Cilium ставав недоступним, і весь кластер ставав неактивним. | ||
* **Перевага Istio в ефективності:** Istio, завдяки централізованій панелі управління та підходу, заснованому на ідентифікації, спрощує конфігурацію та зменшує навантаження на API-сервер і вузли, спрямовуючи критичні ресурси на обробку та захист трафіку. | ||
|
||
## Додаткові подробиці {#digging-deeper} | ||
|
||
Хоча метою цього проєкту є порівняння масштабованості Istio та Cilium, існують кілька обмежень, що ускладнюють пряме порівняння. | ||
|
||
### Не завжди L4 — це L4 {#layer-4-isnt-always-layer-4} | ||
|
||
Хоча Istio та Cilium обидва забезпечують політику L4, їхні API та реалізація значно відрізняються. | ||
|
||
### Не все шифрування однакове {#not-all-encryption-is-created-equal} | ||
|
||
Cilium підтримує IPsec для шифрування, що відповідає FIPS, проте більшість інших функцій Cilium, як-от політика L7 та балансування навантаження, несумісні з IPsec. | ||
|
||
### Приховані витрати {#hidden-costs} | ||
|
||
Хоча Istio повністю працює у просторі користувача, панель даних L4 Cilium працює в ядрі Linux за допомогою eBPF. Метрики Prometheus для використання ресурсів враховують лише ресурси простору користувача. | ||
|
||
## Рекомендації: Вибір правильного інструменту для завдання {#recommendations-choosing-the-right-tool-for-the-job} | ||
|
||
Отже, яке рішення обрати? Це залежить від ваших конкретних потреб і пріоритетів. Для малих кластерів з чисто L3/L4 сценаріями використання та без потреби в шифруванні, Cilium пропонує економічно вигідне та продуктивне рішення. Проте для більших кластерів з акцентом на стабільність, масштабованість та розширені функції, варто обрати Istio в режимі ambient разом з альтернативною реалізацією NetworkPolicy. Багато клієнтів поєднують L3/L4 функції Cilium з L4/L7 та функціями шифрування Istio для стратегії багаторівневого захисту. | ||
|
||
Памʼятайте, що світ cloud-native мережевих технологій постійно розвивається. Слідкуйте за розвитком як Istio, так і Cilium, оскільки обидва інструменти продовжують вдосконалюватись і вирішувати ці виклики. | ||
|
||
## Продовжимо спілкування {#lets-keep-the-conversation-going} | ||
|
||
Ви вже працювали з Istio в режимі ambient або з Cilium? Які у вас досвід та враження? Поділіться своїми думками в коментарях нижче. Вчімося один в одного та разом досліджуймо захопливий світ Kubernetes! |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.