Анонс Istio 1.31
Оголошення про випуск Istio 1.31.
Ми раді оголосити про випуск Istio 1.31. Дякуємо всім нашим учасникам, тестувальникам, користувачам та ентузіастам за допомогу в публікації версії 1.31.0! Ми хотіли б подякувати менеджерам з випуску цієї версії: Jacek Ewertowski з Red Hat, Jackson Greer з Microsoft, та Jianpeng He з Tetrate.
ЗМІНИ
Отримайте детальний список змін.
ПЕРШ НІЖ ОНОВИТИСЬ
Що потрібно знати та підготувати перед оновленням.
ЗАВАНТАЖИТИ
Завантажити та встановити цей випуск.
ДОКУМЕНТАЦІЯ
Відвідайте документацію до цього випуску.
Відмова від інфраструктури та хостингу GCP
З Istio 1.31 і далі ми більше не будемо публікувати артефакти на gcr.io/istio-release, registry.istio.io, та istio-release.storage.googleapis.com.
- Образи Docker все ще будуть доступні на Docker Hub.
- Чарти Helm будуть доступні на
blob.istio.io/istio-release/charts. - Інші артефакти будуть доступні на
blob.istio.io/istio-release. - Чарти OCI Helm будуть доступні на
ghcr.io/istio/release/charts.
Ми проведемо scream тести, під час яких ми тимчасово відключатимемо всі артефакти, розміщені на GCP.
Перший scream тест відбудеться 15 вересня 2026 року з 15:00 до 16:00 UTC. Другий scream тест відбудеться 13 жовтня 2026 року з 15:00 до 18:00 UTC. Третій scream тест відбудеться 17 листопада 2026 року з 15:00 до 21:00 UTC. Четвертий і останній scream тест відбудеться з 8 грудня 2026 року 15:00 UTC до 9 грудня 2026 року 15:00 UTC.
Для отримання додаткової інформації дивіться цей блог-пост.
Що нового?
Agentgateway як waypoint
На основі експериментальної підтримки виключно шлюзів, запровадженої у версії 1.30, у Istio 1.31 додано клас GatewayClass istio-agentgateway-waypoint для розгортання agentgateway як проксі-сервера типу «waypoint». У цьому випуску також виправлено кілька проблем, пов’язаних з обробкою ListenerSet та підключенням mTLS для бекендів agentgateway.
Gateway API: AllowInsecureFallback
Istio тепер реалізує функцію Gateway API AllowInsecureFallback для перевірки клієнтських сертифікатів. Коли увімкнено, шлюз запитує клієнтський сертифікат і намагається його перевірити, але все ще дозволяє зʼєднання, якщо сертифікат не надано або перевірка не вдалася. Заголовок x-forwarded-client-cert заповнюється, щоб бекенди могли виконувати власну перевірку.
Покращення режиму ambient
- Вага для канаркових waypoint. Сервіс або простір імен тепер можуть посилатися як на основний, так і на канарковий waypoint через мітки
istio.io/use-waypoint-canaryтаistio.io/use-waypoint-canary-namespace. Анотаціяistio.io/use-waypoint-canary-weightспрямовує налаштовану частку вхідних зʼєднань у межах мережі до канаркового waypoint без будь-яких змін на стороні клієнта, що дозволяє поступове впровадження змін конфігурації waypoint. - Стабільність мультикластера. Цей випуск включає велику кількість виправлень режиму ambient, зокрема для мультикластерних розгортань: ротація облікових даних більше не призводить до застарілих снепшотів або втрати шардів точок доступу, виправлено кілька витоків памʼяті та goroutine у мультикластерному режимі, а виправлення CNI вузлового агента виправляють паніку одночасного запису в мапу, витік файлових дескрипторів та блокування при видаленні podʼа.
Розширення керування трафіком
- Балансування навантаження з урахуванням зон. Нове поле
zoneAwareLbSettingуDestinationRule.TrafficPolicy.LoadBalancerSettingsтаMeshConfigдозволяє Envoy автоматично маршрутизувати трафік до точок доступу у тій самій зоні доступності, що й проксі нижчого рівня, перенаправляючи трафік до інших зон лише у разі недостатньої локальної пропускної здатності. Це відрізняється від наявногоlocalityLbSettingтим, що маршрутизацію на рівні зон здійснює автоматично Envoy, а не за допомогою статичних відсотків. На це можна накласти порядок відмовостійкості між регіонами та рівні пріоритету на основі міток. - Загальна політика трафіку для всієї мережі. Новий параметр
defaultTrafficPolicyуMeshConfigдозволяє адміністраторам мережі встановлювати базові значення дляconnectionPoolтаoutlierDetection, які успадковують усі вихідні кластери. ПравилоDestinationRule, яке встановлює одне з цих значень, замінює базове значення для цього параметра; поля, які в ньому не вказано, тепер успадковують базові значення мережі замість вбудованих стандартних значень Istio. Базове значенняconnectionPoolтакож застосовується до вхідних кластерів та кластера passthrough. - Динамічний forward-проксі для невідомих хостів. Новий режим політики вихідного трафіку
ALLOW_ANY_DYNAMIC_DNSвизначає імена хостів з HTTP-заголовкаHostчасом запиту через Dynamic Forward Proxy Envoy, усуваючи потребу в ресурсахServiceEntryдля кожного зовнішнього призначення. Не-HTTP трафік продовжує використовуватиPassthroughCluster. Опціональне створення upstream TLS можна налаштувати черезmeshConfig.outboundTrafficPolicy.tls. - Виключення хостів виходу Sidecar. Слухачі виходу
Sidecarтепер підтримують префікс~для записів простору імен та хостів для віднімання від набору імпорту. Наприклад,*/*плюс~ns1/*імпортує все, крім простору іменns1. Це дозволяє великим mesh виключати декілька просторів імен без перерахування довгого allowlist.
Безпека
- Політика відповідності FIPS 140-3. Нове значення
fips-140-3для змінної оточенняCOMPLIANCE_POLICYпримушує TLS 1.2+ з FIPS-сумісними наборами шифрів та кривими P-256/P-384. Go-компоненти мають бути зібрані з Go 1.24+ з використаннямGOFIPS140=v1.0.0. - Відповідність домену довіри в
AuthorizationPolicy. Нові поляtrustDomainsтаnotTrustDomainsуSourceдозволяють відповідати запитам або виключати їх на основі домену довіри, отриманого з сертифіката партнера. - Строге обʼєднання шлюзів.
PILOT_ENABLE_STRICT_GATEWAY_MERGING(стандартно увімкнено) запобігає міжпросторовому обʼєднанню IstioGatewayCRD з керованими Gateway APIGatewayпроксі. - Автентифікація генератора XDS API. Точка доступу обслуговування конфігурації MCP тепер вимагає верифіковану панеллю управління ідентичність. Стандартний трафік sidecar, gateway та ztunnel не зазнає впливу.
Встановлення та використання
- Kiali надбудову оновлено до v2.26.0.
- CPU-сумісні робочі потоки ztunnel через змінні оточення
ZTUNNEL_RESOURCE_CPU_LIMITтаZTUNNEL_RESOURCE_CPU_REQUEST. - Прапорець
istioctl manifest generate -oзаписує згенеровані маніфести у файл замість stdout. global.readerServiceAccountдозволяє привʼязуватиistio-readerClusterRoleдо власного службового облікового запису.
Телеметрія
- Мульти-цільове отримання даних Prometheus. Нова анотація podʼа
prometheus.istio.io/scrape-targetsдозволяє користувачам оголошувати кілька точок доступу метрик застосунку на pod як розділений комами списокport:path. Pilot-agent перевіряє їх одночасно та обʼєднує вивід. - Безпечні порти метрик. Нові змінні оточення
ENVOY_SECURE_METRICS_PORTтаENVOY_SECURE_MERGED_METRICS_PORTекспонують mTLS-захищені точки доступу Prometheus на кожному sidecar-проксі. - Перемикач обʼєднання статистики Envoy.
PILOT_AGENT_MERGE_ENVOY_STATSможна встановити уfalseдля вимкнення обʼєднання статистики Envoy у ендпоінт статистики агента.
Ще багато іншого
ProxyConfigconnectionSettingsіз конкретним профілемEDGEдля проксі gatewayMERGE_AND_REPLACE_LISTоперація патчуEnvoyFilterдля заміни полів-списків замість додаванняprefix_rewriteвHTTPRedirectдля prefix-сумісного переписування шляху в правилах перенаправлення- Налаштування HTTP/2 keepalive PING на upstream-зʼєднаннях через
DestinationRule - Контроль видимості
ServiceEntryчерезmeshConfig.serviceEntryVisibility - Поле
budget_intervalу APIRetryBudgetTrafficPolicy - Попередження
istioctl analyzeдля конфліктних протоколівServiceEntryта застарілих Gateway API CRD
Дізнайтеся про це та інше в повних примітках до релізу.
Оновлення до 1.31
Ми хотіли б почути вашу думку щодо вашого досвіду оновлення до Istio 1.31. Ви можете надати відгук у каналі #release-1_31 у нашому Slack робочому просторі.
Чи хотіли б ви безпосередньо долучитися до розвитку Istio? Знайдіть одну з наших робочих груп та приєднайтеся до неї, щоб допомогти нам удосконалити проєкт.