Стан функцій
Ця сторінка містить інформацію про відносну зрілість і рівень підтримки кожної функції Istio. Зверніть увагу, що фази застосовуються до окремих функцій проєкту, а не до проєкту в цілому. Ось короткий опис того, що означають ці позначення.
Визначення фаз функцій
Experimental | Alpha | Beta | Stable | |
---|---|---|---|---|
Призначення | Функція знаходиться на стадії активної розробки, і API для користувачів може змінюватися. Користувачі повинні розгортати експериментальні функції з великою обережністю, бажано в промислових середовищах, оскільки експериментальні версії можуть вимагати зусиль для міграції. | Використовується для отримання зворотного звʼязку щодо дизайну або функції або для перевірки того, як попередній дизайн працює тощо. Розрахована на розробників та досвідчених користувачів. | Використовується для перевірки рішення в промисловому середовищі без довгострокових зобовʼязань для оцінки життєздатності, продуктивності, зручності тощо. Орієнтована на всіх користувачів. | Надійна, випробувана в операційній діяльності функція. |
Стабільність | Може містити помилки. Використання функції може призвести до виявлення помилок. Стандартно вимкнена. | Може містити помилки. Використання функції може призвести до виявлення помилок. Стандартно вимкнена. | Код добре протестований. Функцію безпечно використовувати в промисловому середовищі. | Код добре протестований і стабільний. Безпечна для масового впровадження у промисловому середовищі. |
Безпека | Використання функції може мати очевидні вразливості в безпеці. Виявлені вразливості можуть не повідомлятися широко. | Використання функції може мати очевидні вразливості в безпеці. Виявлені вразливості можуть не повідомлятися широко. | Будь-які виявлені вразливості в безпеці будуть публічно розкриті та виправлені. | Будь-які виявлені вразливості в безпеці будуть публічно розкриті та виправлені. |
Продуктивність | Характеристики продуктивності невідомі. Увімкнення експериментальної функції може негативно вплинути на продуктивність. | Вимоги до продуктивності оцінюються під час проєктування. | Продуктивність і масштабованість охарактеризовані, але можуть мати застереження. | Продуктивність (затримка/масштабованість) кількісно визначені та задокументовані з гарантіями проти регресу. |
Підтримка | Немає гарантій щодо зворотної сумісності. Спільнота Istio не зобовʼязується покращувати, підтримувати або завершувати функцію, і вона може бути повністю видалена у наступних випусках без попередження. | Немає гарантій щодо зворотної сумісності. Istio не зобовʼязується завершувати функцію. Функція може бути видалена у наступних випусках без попередження. | Основна функція не буде видалена, хоча деталі можуть змінитися. Istio зобовʼязується завершити функцію у подальшій стабільній версії. Зазвичай це відбувається протягом 3 місяців, але іноді довше. Випуски повинні підтримувати дві послідовні версії (наприклад, v1alpha1 та v1beta1 або v1beta1 та v1) одночасно протягом одного циклу підтримки випусків (зазвичай 3 місяці), щоб користувачі мали достатньо часу для оновлення та міграції ресурсів. | Функція буде присутня у багатьох наступних випусках. |
Правила припинення підтримки | Відсутні, функція може бути видалена будь-коли. | Відсутні, функція може бути видалена будь-коли. | Слабкі, функція може бути видалена з попередженням за 3 місяці. | Сильні, функція може бути видалена з попередженням за 1 рік, але зазвичай буде підтримуваний шлях оновлення до замінюючої функції. |
Версії | Назва версії API містить dev (наприклад, v1dev1). | Назва версії API містить alpha (наприклад, v1alpha1). | Назва версії API містить beta (наприклад, v1beta1). | Версія API — це vX , де X — це ціле число (наприклад, v1). |
Доступність | Функція може бути або не бути доступною в основному репозиторії Istio. Вона може (не)зʼявитися у випуску Istio. Якщо вона зʼявляється, то буде стандартно вимкнена. Для увімкнення експериментальних функцій потрібен явний прапорець або конфігурація. | Функція зобов’язана бути в основному репозиторії Istio і доступна у випусках. Вона потребує явної дії користувача для використання. Коли функція вимкнена, це не повинно впливати на стабільність системи. | В офіційних випусках Istio функція стандартно увімкнена. | Так само, як і у Beta. |
Аудиторія | Інші розробники, які тісно співпрацюють над функцією або доказом концепції. | Функція орієнтована на розробників і досвідчених користувачів, які зацікавлені в ранньому зворотному звʼязку. | Користувачі, які зацікавлені в наданні зворотного звʼязку щодо функцій. | Всі користувачі. |
Повнота | Функція має обмежені можливості. Вона може служити доказом концепції. | Деякі операції API або команди CLI можуть бути не реалізовані. API може не мати повного огляду. | Усі операції API та команди CLI повинні бути реалізовані. Тести мають бути завершеними. API пройшов ретельний огляд і вважається завершеним. | Так само, як і у Beta. |
Документація | Експериментальні функції позначаються як експериментальні в автогенерованій документації. | Alpha-функції позначені як альфа. Базова документація пояснює, що робить функція і як її увімкнути. | Повна документація функції публікується на istio.io, включаючи зразки, уроки та глосарій. | Так само, як і у Beta. |
Оновлюваність | Схема та семантика експериментальних функцій можуть змінюватися в новіших версіях без зворотної сумісності, що вимагає змін конфігурації під час оновлень. | Схема та семантика альфа-функцій можуть змінитися в наступних випусках, без гарантій збереження об’єктів конфігурації в існуючих установках Istio. | Схема та семантика можуть змінитися в наступних випусках, але при цьому буде задокументований шлях оновлення. | Тільки строго сумісні зміни дозволені в наступних випусках. |
Тестування | Наявність функції не повинна впливати на випущені функції. | Функція покрита юніт-тестами і інтеграційними тестами, коли функція увімкнена. Коли функція вимкнена, це не повинно погіршувати продуктивність системи. | Інтеграційні тести охоплюють крайні випадки, а також основні сценарії використання. Тести охоплюють зразки для функції. Покриття тестами >= 80%. | Повне покриття тестами з рівнем >= 90%. |
Надійність | Користувачі не повинні очікувати, що функція буде надійною. | Через те, що функція є відносно новою, вона може мати помилки, які дестабілізують Istio. | Функція протестована і не повинна створювати нових помилок в несуміжних функціях. | Висока. Функція добре протестована, стабільна та надійна для всіх сценаріїв. |
Рекомендовані сценарії використання | У середовищах розробки або тестування з коротким терміном існування для отримання раннього зворотного зв’язку від користувачів. | У середовищах розробки або тестування з коротким терміном існування через складність оновлень і відсутність довгострокової підтримки. | У середовищах розробки або тестування, а також у промислових середовищах для оцінки функції та надання зворотного зв’язку. | У будь-якому середовищі. |
Функції Istio
Нижче наведено перелік наявних функцій Istio та їхні поточні фази. Ця інформація оновлюється після кожного випуску.
Управління трафіком
Feature | Phase |
---|---|
Protocols: HTTP1.1/HTTP2/gRPC/TCP | Stable |
Protocols: Websockets/MongoDB | Stable |
Traffic Control: label/content based routing, traffic shifting | Stable |
Resilience features: timeouts, retries, connection pools, outlier detection | Stable |
Gateway: Ingress, Egress for all protocols | Stable |
Gateway Injection | Beta |
TLS termination and SNI Support in Gateways | Stable |
SNI (multiple certs) at ingress | Stable |
Locality load balancing | Beta |
Enabling custom filters in Envoy | Alpha |
Sidecar API | Stable |
DNS Proxying | Beta |
Kubernetes Gateway APIs for ingress (Gateway parentRef ) | Stable |
Kubernetes Gateway APIs for mesh (Service parentRef ) | Stable |
Gateway Network Topology configuration | Alpha |
Kubernetes Multi-Cluster Service (MCS) Discovery | Experimental |
Спостережуваність
Feature | Phase |
---|---|
Prometheus Integration | Stable |
Service Dashboard in Grafana | Stable |
Distributed Tracing | Stable |
Distributed Tracing to Zipkin/Jaeger | Beta |
Trace Sampling | Beta |
Request Classification | Beta |
Configurable Telemetry Production | Stable |
Розширюваність
Feature | Phase |
---|---|
WebAssembly Extension | Alpha |
Безпека та забезпечення політики
Основні функції
Feature | Phase |
---|---|
Kubernetes: Envoy Installation and Traffic Interception | Stable |
Kubernetes: Istio Control Plane Installation | Stable |
Multicluster Mesh | Beta |
External Control Plane | Beta |
Kubernetes: Istio In-Place Control Plane Upgrade | Beta |
Basic Configuration Resource Validation | Beta |
Istio CNI Plugin | Stable |
IPv6 Support for Kubernetes | Alpha |
Dual Stack IPv4/IPv6 | Alpha |
Distroless base images | Stable |
Virtual Machine Integration | Beta |
Helm Installation | Beta |
Revision Based Upgrade | Beta |
Revision Tags | Beta |
Ambient
Feature | Phase |
---|