Примітки до змін Istio 1.27.0
Примітки до випуску Istio 1.27.0.
Керування трафіком
Оновлено розподіл трафіку, щоб ігнорувати підзону, коли поле Kubernetes Service
trafficDistribution
встановлено наPreferClose
. (Issue #55848)Додано підтримку декількох сертифікатів сервера в шлюзі (istio & Gateway API). (Issue #36181)
Додано альфа-підтримку для визначення
ServiceScope
в MeshConfig в конфігураціях мультикластерного середовища.ServiceScope
дозволяє вибрати окремі сервіси або сервіси в просторі імен як глобальні або локальні. Локальний сервіс може бути виявлений тільки панеллю даних у тому ж кластері, що і сервіс. Локальний сервіс не може бути виявлений панелями даних в інших кластерах. Глобальний сервіс може бути виявлений панелями даних у всіх кластерах. Визначення селекторів дляserviceScopeConfigs
визначає, які сервіси і робочі навантаження будуть спільними з панеллю даних, а також які кластери і слухачі будуть налаштовані для waypoints (включаючи схід-захід шлюзи) в мережі.Додано прапорець функції
EnableGatewayAPICopyLabelsAnnotations
, щоб дозволити користувачам вибирати, чи будуть ресурси розгортання успадковувати атрибути від батьківського ресурсу Gateway API. Ця функція стандартно ввімкнена .Додано підтримку
PreferSameNode
таPreferSameZone
у поліtrafficDistribution
служби Kubernetes. (Issue #55848)Додано пілотні змінні середовища
PILOT_IP_AUTOALLOCATE_IPV4_PREFIX
таPILOT_IP_AUTOALLOCATE_IPV6_PREFIX
для налаштування префіксів IP CIDR для автоматично розподілених IP-адрес. Це дозволяє користувачам встановлювати конкретний діапазон IP-адрес для автоматичного розподілу, забезпечуючи більший контроль над простором IP-адрес, що використовується для VIP-адрес контролером ipallocate.Додано ведення журналу простору імен та імені секрету, коли сертифікат недійсний. (Issue #56651)
Додано підтримку Gateway API Inference Extension. Ця функція стандартно вимкнена і може бути увімкнена за допомогою змінної середовища
SUPPORT_GATEWAY_API_INFERENCE_EXTENSION
. (Issue #55768)Додано підтримку операцій злиття при застосуванні до
LISTENER_FILTER
в EnvoyFilter.Додано функцію
ENABLE_LAZY_SIDECAR_EVALUATION
, яка дозволяє увімкнути ліниву ініціалізацію ресурсів sidecar, обчислюючи внутрішні індекси лише тоді, колиSidecarScopes
фактично використовуються проксі. Ця функція замінює попереднюPILOT_CONVERT_SIDECAR_SCOPE_CONCURRENCY
, яка дозволяла б паралельну конверсію з конкретною заданою паралельністю, натомістьENABLE_LAZY_SIDECAR_EVALUATION
використовуватиме таку ж паралельність, як іPILOT_PUSH_THROTTLE
.Додано підтримку рідного
nftables
при використанні режиму sidecar Istio. Це оновлення робить можливим використанняnftables
замість iptables для управління мережевими правилами, пропонуючи більш ефективний підхід до перенаправлення трафіку для подів і сервісів. Щоб увімкнути режимnftables
, використовуйте--set values.global.nativeNftables=true
під час установки. (Issue #56487)Додано підтримку для вказівки режиму розподілу трафіку для сервісів. (Issue #53354)
Додано функцію
ENABLE_PROXY_FIND_POD_BY_IP
, яка дозволяє ввімкнути асоціацію Podʼів з проксі-серверами за IP-адресою, якщо асоціація за іменем та простором імен не вдається.Додано підтримку бюджету повторних спроб у ресурсах
DestinationRule
.Виправлено проблему, через яку вибір лідера контролера статусу шлюзу не виконувався для кожної версії, що могло призвести до проблем у налаштуваннях з кількома версіями. Вибір лідера тепер правильно обмежений кожною версією, що забезпечує незалежну роботу контролера статусу шлюзу для кожної версії. (Issue #55717)
Виправлено проблему, через яку маршрути віртуальних сервісів ігнорувалися, коли віртуальний сервіс був налаштований з хостами, що містять літери змішаного регістру. (Issue #55767)
Виправлено регресію в Istio 1.26.0, яка викликала паніку в istiod при обробці імен хостів Gateway API. (Issue #56300)
Виправлено проблему, через яку mTLS було вимкнено несподівано, коли
PILOT_ENABLE_TELEMETRY_LABEL
абоPILOT_ENDPOINT_TELEMETRY_LABEL
були встановлені вfalse
(Issue #56352)Виправлено проблему, через яку правила iptables мережі хостів в режимі ambient пропускалися через правила CNI вищого пріоритету в деяких розгортаннях. (Issue #56414)
Виправлено проблему, через яку
EnvoyFilter
зtargetRefs
відповідали неправильним ресурсам. (Issue #56417)Виправлено індекс в режимі ambient для фільтрації конфігурацій за їхньою версією. (Issue #56477)
Виправлено проблему, через яку мітка
topology.istio.io/network
не пропускалася належним чином в системному просторі імен, коли використовувалисяdiscoverySelectors
. (Issue #56687)Виправлено проблему, через яку втулок CNI неправильно обробляв видалення пода, коли под ще не був позначений як зареєстрований у мережі. У деяких випадках це могло призвести до того, що под, який був видалений, потрапляв до знімка ZDS і ніколи не очищався. Якщо це сталося, ztunnel не зміг би стати готовим. (Issue #56738)
Виправлено проблему, через яку конфігурація вихідного маршруту Istio не включала абсолютне доменне імʼя (повністю кваліфіковане доменне імʼя з крапкою в кінці) у список доменів для записів
VirtualHost
. Ця зміна гарантує, що запити, які використовують абсолютні доменні імена (що закінчуються крапкою, наприклад,my-service.my-ns.svc.cluster.local.
), будуть правильно маршрутизовані до потрібної служби, а не перенаправлятися доPassthroughCluster
. (Issue #56007)
Безпека
Додано підтримку для пропуску мітки видавця в токенах JWT. Або мітка видавця, або
JWKSUri
є обовʼязковими, але не обидві. Це дозволяє більш гнучкі конфігурації при використанні токенів JWT для аутентифікації, особливо в сценаріях, де мітка видавця може бути динамічною. (Issue #14400)Додано стандартну функцію при використанні istio-cni в режимі ambient, для створення конфігураційного файлу CNI, що належить Istio, який містить вміст основного конфігураційного файлу CNI та втулка Istio CNI. Ця стандартна функція є рішенням проблеми обхідного трафіку мережі при перезавантаженні вузла, коли Istio CNI
DaemonSet
не готовий, втулок Istio CNI не встановлений або втулок не викликаний для налаштування перенаправлення трафіку з подів до їхніх вузлів ztunnels. Цю функцію можна активувати, встановившиcni.istioOwnedCNIConfig
в true в значеннях Helm chart для istio-cni. Якщо значення дляcni.istioOwnedCNIConfigFilename
не встановлено, файл конфігурації CNI, що належить Istio, буде називатися02-istio-cni.conflist
. ЗначенняistioOwnedCNIConfigFilename
повинно мати вищий лексикографічний пріоритет, ніж основний CNI. Для роботи цієї функції повинні бути активовані втулки Ambient і Chained CNI.Додано перевірку аргументу команди istioctl
--clusterAliases
. Не повинно бути більше одного псевдоніма на кластер. (Issue #56022)Додано підтримку для
ClusterTrustBundle
шляхом міграції зcertificates.k8s.io/v1alpha1
на стабільний APIv1beta1
в Kubernetes 1.33+. Це покращує сумісність і забезпечує майбутнє механізму розподілу сертифікатів Istio. (Issue #56306)Додано підтримку для зовнішніх постачальників Secret Discovery Service (SDS) в конфігурації TLS шлюзу. Istio тепер надає покращену інтеграцію з зовнішніми постачальниками SDS для управління TLS сертифікатами на шлюзі. (Issue #56522)
Додано підтримку списку відкликаних сертифікатів (CRL) для підключених CA, що дозволяє Istio спостерігати за файлами
ca-crl.pem
і автоматично розподіляти CRL по всіх просторах імен у кластері. Це вдосконалення дозволяє проксі-серверам перевіряти та відхиляти відкликані сертифікати, зміцнюючи безпекову позицію розгортань сервісної мережі з використанням підключених CA. (Issue #56529)Додано опцію пост-квантової криптографії (PQC) до
COMPLIANCE_POLICY
. Ця політика вимагає TLSv1.3
, шифрувальні набориTLS_AES_128_GCM_SHA256
іTLS_AES_256_GCM_SHA384
, а також обмін ключами, що є безпечним від квантових атакX25519MLKEM768
. Щоб активувати цю політику відповідності в режимі ambient, її потрібно встановити в контейнерах pilot і ztunnel. Ця політика застосовується до наступних шляхів передачі даних:- mTLS звʼязок між проксі-серверами Envoy і ztunnels;
- звичайний TLS на виході та вході проксі-серверів Envoy (наприклад, шлюз);
- Istio xDS server. (Issue #56330)
Виправлено проблему, через яку sidecars зі старим налаштуванням
CLUSTER_ID
не могли підключитися до istiod з новим налаштуваннямCLUSTER_ID
при використанні аргументу команди--clusterAliases
. (Issue #56022)Виправлено проблему в функції
pluginca
, через якуistiod
безшумно повертався до самопідписаного CA, якщо наданий пакетcacerts
був неповним. Система тепер правильно перевіряє наявність усіх необхідних файлів CA і завершує з помилкою, якщо пакет неповний.
Телеметрія
Виправлено проблему, через яку дашборд Grafana посилався на Istio Mesh Dashboard, використовуючи посилання на основі шляху, які більше не працюють. Посилання на робочі навантаження та сервіси тепер використовують UID дашборда. (Issue #50124)
Виправлено проблему, через яку журнали доступу не оновлювалися, коли запитуваний сервіс був створений пізніше, ніж ресурс телеметрії. (Issue #56825)
Видалено підтримку постачальника трасування
Lightstep
. (Issue #54002)
Розширюваність
- Додано опцію перезавантаження Wasm VM на нові запити, якщо VM зазнала збою.
Встановлення
Переведено змінну середовища
ENABLE_NATIVE_SIDECARS
стандартно в станtrue
. Це означає, що нативні sidecars будуть додаватись в усі відповідні под, якщо це не буде явно вимкнено. Це можна вимкнути явно або для конкретних робочих навантажень, додавши анотаціюsidecar.istio.io/native-side: "false"
до окремих подів або шаблонів подів. (Issue #48794)Додано налаштування
values.global.trustBundleName
, яке дозволяє налаштувати імʼя ConfigMap, яке istiod використовує для поширення свого кореневого сертифіката CA в кластері. Це дозволяє запускати кілька панелей управління з перекриттям просторів імен в одному кластері.Додано підтримку налаштування міток для увімкнення режиму ambient. (Issue #53578)
Додано підтримку налаштування
additionalContainers
таinitContainers
у чарті Helm Gateway.Додано підтримку налаштування tolerations для ztunnel через значення чарту Helm. (Issue #56086)
Додано підтримку налаштування tolerations для istio-cni через значення чарту Helm. (Issue #56087)
Додано визначені стандартного значення для дільників
GOMEMLIMIT
таGOMAXPROCS
, щоб виправити проблему безперервної синхронізації Argo.Додано конфігурацію переваги завантаження для
gateway-injection-template
. (Issue #28302)Додано значення Helm
ENABLE_NATIVE_SIDECARS
в профілі сумісності Istio 1.24, 1.25 та 1.26, що дозволяє користувачам вимкнути стандартне увімкнення нативних sidecars.Додано підтримку проксі-протоколу на порт статусу. (reference) (Issue #39868)
Додано значення Helm
.Values.istiodRemote.enabledLocalInjectorIstiod
для підтримки інʼєкції sidecar в віддалених кластерах. Колиprofile=remote
,.Values.istiodRemote.enabledLocalInjectorIstiod=true
, і.Values.global.remotePilotAddress="${DISCOVERY_ADDRESS}"
, віддалений робочий кластер встановлюєistiod
для локальної інʼєкції sidecar, в той час як XDS все ще обслуговується віддаленим основним кластером. (Issue #56328)Додано мітку
istio.io/rev
до віддаленого сервісу istio, коли увімкненоistiodRemote
(Issue #56142)Додано підтримку
deploymentAnnotations
в чарті Helm istiod. Тепер користувачі можуть вказувати власні анотації, які будуть застосовані до обʼєкта Deployment istiod, на додачу до існуючої підтримкиpodAnnotations
. Це корисно для інтеграції з інструментами моніторингу, GitOps робочими процесами та системами забезпечення політики, які працюють на рівні розгортання.Виправлено проблему, коли змінна середовища
ISTIO_KUBE_APP_PROBERS
не була встановлена для переписування проб, коли веб-хук Istio був повторно викликаний. (Issue #56102)Виправлено проблему, коли посилання на секрети в середовищі чарту Helm
istio/gateway
були неправильно перетворені на рядокове значення. (Issue #55141)Виправлено проблему, коли виникала помилка інʼєкції, коли шаблон
gateway
поєднувався з іншим шаблоном, наприклад,spire
, який перевизначаєworkload-socket
, внаслідок чого Kubernetes не створював інші томи, які мають налаштуванняemptyDir
іcsi
.Виправлено паніку в
istioctl manifest translate
, коли конфігураціяIstioOperator
містила кілька шлюзів. (Issue #56223)Виправлено призначення неправильних UID і GID для контейнерів
istio-proxy
іistio-validation
на кластерах OpenShift, коли режим TPROXY був увімкнений.Виправлено проблему, коли
ClusterTrustBundle
не був належним чином налаштований, коли був увімкненийENABLE_CLUSTER_TRUST_BUNDLE_API
.Видалено невикористовувані значення Helm, повʼязані з мультикластером.
istioctl
Додано прапорець
--kubeclient-timeout
до кореневих прапорцівistioctl
. Може бути не встановлений або встановлений як дійсний рядокtime.Duration
. Якщо вказано, це замінить стандартний час очікування15s
для всіх командistioctl
, які використовують клієнт Kubernetes. Це корисно для середовищ із повільними серверами API Kubernetes, наприклад, із великою затримкою або низькою пропускною здатністю. Зверніть увагу, що цей прапорець використовується тільки для клієнта Kubernetes і не впливає на інші тайм-аути вistioctl
, наприклад, тайм-аути встановлення. (Issue #54962)Додано прапорці
--revision
дляistioctl dashboard controlz
таistioctl dashboard istiod-debug
.Додано підтримку в команді
istioctl proxy-status
для динамічного відображення всіх типів xDS/CRD як стовпців у вихідній таблиці. (Issue #56005)Додано підтримку для налаштування тайм-ауту команд
istioctl waypoint status
таistioctl waypoint apply
. (Issue #56453)Додано підтримку для відображення
stack-trace-level
в командіistioctl admin log
. (Issue #56465)Додано підтримку для відображення
traffic type
в командіistioctl waypoint list
.Додано підтримку для параметра
--weight
в командіistioctl experimental workload group create
.Додано підтримку для налаштування рівня журналювання
ip-autoallocate
в командіistioctl admin log
. (Issue #55741)Виправлено проблему, коли під час встановлення не створювалися
istio-revision-tag-default
таMutatingWebhookConfiguration
, коли версія не була стандартною. (Issue #55980)Виправлено проблему, коли виникали помилки IST0134 в
istioctl analyze
, колиPILOT_ENABLE_IP_AUTOALLOCATE
було встановлено вtrue
. (Issue #56083)Виправлено проблему, коли аналіз включав системні простори імен Kubernetes (наприклад,
kube-system
,kube-node-lease
). (Issue #55022)Виправлено проблему, коли
create-remote-secret
створював надмірні ресурси RBAC. (Issue #56558)