Стан функцій

Ця сторінка містить інформацію про відносну зрілість і рівень підтримки кожної функції Istio. Зверніть увагу, що фази застосовуються до окремих функцій проєкту, а не до проєкту в цілому. Ось короткий опис того, що означають ці позначення.

Визначення фаз функцій

ExperimentalAlphaBetaStable
ПризначенняФункція знаходиться на стадії активної розробки, і 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 та їхні поточні фази. Ця інформація оновлюється після кожного випуску.

Управління трафіком

FeaturePhase
Protocols: HTTP1.1/HTTP2/gRPC/TCPStable
Protocols: Websockets/MongoDBStable
Traffic Control: label/content based routing, traffic shiftingStable
Resilience features: timeouts, retries, connection pools, outlier detectionStable
Gateway: Ingress, Egress for all protocolsStable
Gateway InjectionBeta
TLS termination and SNI Support in GatewaysStable
SNI (multiple certs) at ingressStable
Locality load balancingBeta
Enabling custom filters in EnvoyAlpha
Sidecar APIStable
DNS ProxyingBeta
Kubernetes Gateway APIs for ingress (Gateway parentRef)Stable
Kubernetes Gateway APIs for mesh (Service parentRef)Stable
Gateway Network Topology configurationAlpha
Kubernetes Multi-Cluster Service (MCS) DiscoveryExperimental

Спостережуваність

FeaturePhase
Prometheus IntegrationStable
Service Dashboard in GrafanaStable
Distributed TracingStable
Distributed Tracing to Zipkin/JaegerBeta
Trace SamplingBeta
Request ClassificationBeta
Configurable Telemetry ProductionStable

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

FeaturePhase
WebAssembly ExtensionAlpha

Безпека та забезпечення політики

FeaturePhase
Service-to-service Mutual TLSStable
Kubernetes: Service Credential DistributionStable
Certificate management on Ingress GatewayStable
Pluggable Key/Cert Support for istio CAStable
AuthorizationStable
End User (JWT) AuthenticationStable
Peer AuthenticationStable
Automatic mutual TLSStable
VM: Service Credential DistributionBeta
External AuthorizationBeta
Authorization Dry RunAlpha
JWT Claim Based RoutingAlpha
Copy JWT Claims to HTTP HeadersExperimental

Основні функції

FeaturePhase
Kubernetes: Envoy Installation and Traffic InterceptionStable
Kubernetes: Istio Control Plane InstallationStable
Multicluster MeshBeta
External Control PlaneBeta
Kubernetes: Istio In-Place Control Plane UpgradeBeta
Basic Configuration Resource ValidationBeta
Istio CNI PluginStable
IPv6 Support for KubernetesAlpha
Dual Stack IPv4/IPv6Alpha
Distroless base imagesStable
Virtual Machine IntegrationBeta
Helm InstallationBeta
Revision Based UpgradeBeta
Revision TagsBeta

Ambient

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

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