Примітки до змін Istio 1.26.0
Примітки до релізу Istio 1.26.0.
Керування трафіком
Покращено агент CNI більше не потребує параметра
hostNetwork, що покращує сумісність. Динамічне перемикання на хост-мережу тепер виконується за необхідності. Попередню поведінку можна тимчасово відновити, встановивши полеambient.shareHostNetworkNamespaceу чартіistio-cni. (Тікет #54726)Покращено бінарне визначення iptables для перевірки підтримки базового ядра та надання переваги
nft, коли доступні як застарілі, так іnft, але жоден з них не має існуючих правил.Оновлено стандартне значення максимальної кількості зʼєднань, що приймаються за одну подію сокета, до 1 для покращення продуктивності. Щоб повернутися до попередньої поведінки, встановіть
MAX_CONNECTIONS_PER_SOCKET_EVENT_LOOPв нуль.Додано можливість для
EnvoyFilterзіставлятиVirtualHostза доменним іменем.Додано початкову підтримку експериментальних функцій API Gateway
BackendTLSPolicyтаXBackendTrafficPolicy. Стандартно вони вимкнені і потребують встановленняPILOT_ENABLE_ALPHA_GATEWAY_API=true. (Тікет #54131), (Тікет #54132)Додано підтримку посилання на
ConfigMap, на додачу доSecret, дляDestinationRuleTLS у режиміSIMPLE— корисно, коли потрібен лише сертифікат ЦС. (Тікет #54131), (Тікет #54132)Додано підтримку кастомізації для Автоматизованого розгортання Gateway API. Це стосується як типів Istio
Gateway(вхід і вихід), так і типів Istio WaypointGateway(ambient waypoints). Користувачі тепер можуть налаштовувати згенеровані ресурси, такі якService,Deployment,ServiceAccount,HorizontalPodAutoscalerіPodDisruptionBudget.Додано нову змінну оточення
ENABLE_GATEWAY_API_MANUAL_DEPLOYMENTдляistiod. Якщо встановлено у значенняfalse, вона вимикає автоматичне приєднання ресурсів API Gateway до існуючих розгортань шлюзу. Стандартно це значенняtrue, щоб зберегти поточну поведінку.Додано можливість налаштовувати предикати хостів для повторних спроб за допомогою Retry API (
retry_ignore_previous_hosts).Додано підтримку вказівки інтервалів очікування під час повторних спроб.
Додано підтримку використання
TCPRouteу проксі-waypoint.Виправлено помилку, коли веб-хук перевірки неправильно повідомляв про попередження, коли
ServiceEntryналаштовувавworkloadSelectorз роздільною здатністю DNS. (Тікет #50164)Виправлено проблему, коли FQDN не працювали у
WorkloadEntryз використанням режиму ambient.Виправлено випадок, коли
ReferenceGrantsне працювали, коли mTLS було увімкнено на слухачі шлюзу. (Тікет #55623)Виправлено проблему, коли Istio не міг коректно отримати
allowedRoutesдля waypoint у пісочниці. (Тікет #56010)Виправлено ваду, через яку витікали точки доступу
ServiceEntryпід час виселення podʼа. (Тікет #54997)Виправлено проблему, через яку адреса слухача дублювалася для двостекових сервісів з пріоритетом IPv6. (Тікет #56151)
Безпека
- Додано експериментальну підтримку v1alpha1 API
ClusterTrustBundle. Її можна увімкнути, встановившиvalues.pilot.env.ENABLE_CLUSTER_TRUST_BUNDLE_API=true. Переконайтеся, що у вашому кластері увімкнено відповідні функціональні можливості; див. KEP-3257 для отримання детальної інформації. (Тікет #43986)
Телеметрія
Додано підтримку поля
omit_empty_valuesу провайдеріEnvoyFileAccessLogчерез API телеметрії. (Тікет #54930)Додано змінну оточення
PILOT_SPAWN_UPSTREAM_SPAN_FOR_GATEWAY, яка розділяє діапазони трасування для серверного та клієнтського шлюзів. Наразі цей параметр стандартно має значенняfalse, але у майбутньому він стане стандартним.Додано попередження щодо використання застарілих постачальників телеметрії Lightstep та OpenCensus. (Тікет #54002)
Встановлення
Покращено процес встановлення на GKE. Якщо встановлено
global.platform=gke, необхідні ресурсиResourceQuotaбуде розгорнуто автоматично. Під час встановлення за допомогоюistioctlцей параметр також буде автоматично ввімкнено, якщо буде виявлено GKE. Крім того, тепер належним чином налаштованоcniBinDir.Покращено чарт
ztunnelHelm, щоб не призначати назви ресурсів до.Release.Name, натомість, стандартно, доztunnel. Це відкидає зміну, зроблену у Istio 1.25.Додано підтримку встановлення параметра
reinvocationPolicyу веб-хуку revision-tag під час встановлення Istio за допомогоюistioctlабо Helm.Додано можливість налаштування сервісу
loadBalancerClassу чарті Gateway Helm. (Тікет #39079)Додано значення
ConfigMap, яке зберігає як надані користувачем значення Helm, так і обʼєднані значення після застосування профілів для чартуistiod.Додано підтримку читання значень заголовків зі змінних оточення
istiod. (Тікет #53408)Додано конфігураційну
updateStrategyдля чартівztunnelтаistio-cniHelm.Виправлено ваду у шаблоні інʼєкції sidecar, яка некоректно видаляла наявні контейнери init, коли було вимкнено перехоплення трафіку та власний sidecar. (Тікет #54562)
Виправлено відсутність міток
topology.istio.io/networkна pod’ах шлюзу при використанні--set networkGateway. (Тікет #54909)Виправлено проблему, коли встановлення
replicaCount=0у чартіistio/gatewayHelm призводило до того, що полеreplicasбуло пропущено замість того, щоб бути явно встановленим у0. (Тікет #55092)Виправлено проблему, яка призводила до того, що посилання на файлові сертифікати (наприклад, з
DestinationRuleабоGateway) не працювали при використанні SPIRE в якості центру сертифікації.Видалено застарілий прапорець
ENABLE_AUTO_SNIта повʼязані з ним шляхи коду.
istioctl
Додано параметр
--locality' доіstioctl experimental workload group create’. (Тікет #54022)Додано можливість запуску певних перевірок аналізатором за допомогою команди
istioctl analyze.Додано параметр
--tls-server-nameдоistioctl create-remote-secret, який дозволяє встановитиtls-server-nameу згенерованому kubeconfig. Це гарантує успішне TLS-зʼєднання, коли полеserverзамінено на імʼя хоста проксі-шлюзу.Додано підтримку поля
envVarFromу чартіistiod.Виправлено проблему, коли
istioctl analyzeповідомляв про невідому анотаціюidecar.istio.io/statsCompression. (Тікет #52082)Виправлено помилку, яка блокувала встановлення, якщо було пропущено
IstioOperator.components.gateways.ingressGateways.labelабоIstioOperator.components.gateways.ingressGateways.label. (Тікет #54955)Виправлено помилку, коли
istioctlігнорував поляtagуIstioOperator.components.gateways.ingressGatewaysтаegressGateways. (Тікет #54955)Виправлено проблему, коли
istioctl waypoint deleteмогла видаляти ресурс, який не є шлюзом, коли було вказано імʼя. (Тікет #55235)Виправлено проблему, коли
istioctl experimental describeне враховував прапорець--namespace. (Тікет #55243)Виправлено помилку, яка унеможливлювала одночасну генерацію міток
istio.io/waypoint-forтаistio.io/revпри створенні проксі-waypoint за допомогоюistioctl. (Тікет #55437)Виправлено проблему, коли
istioctl admin logне міг змінити рівень журналу дляingress status. (Тікет #55741)Виправлено помилку перевірки, коли у конфігурації YAML
istioctlбуло встановленоreconcileIptablesOnStartup: true. (Тікет #55347)