Istio 1.12 Change Notes
Istio 1.12.0 change notes.
Traffic Management
Improved support for headless services with undeclared protocols to not require specific
Hostheaders. (Issue #34679)Added validator for empty regex match in VirtualService, preventing invalid Envoy configuration. (Issue #34065)
Added support for
useSourceIPconsistent hash load balancing for TCP traffic. Previously, only HTTP was supported. (Issue #33558)Added support for envoy to track active connections during drain and quit if active connections become zero instead of waiting for entire drain duration. This is disabled by default and can be enabled by setting
EXIT_ON_ZERO_ACTIVE_CONNECTIONSto true. (Issue #34855)Added support for
trafficPolicy.loadBalancer.consistentHashinDestinationRulefor proxyless gRPC clients. (Pull Request #35333)Added the ability for users to specify Envoy’s
LOGICAL_DNSas a connection type for a cluster usingDNS_ROUND_ROBINin ServiceEntry. (Issue #35475)Added
failoverPriorityload balancing traffic policy, which allows users to set an ordered list of labels used to sort endpoints to do priority based load balancing. (Pull Request #34740)Added support for creating mirrored QUIC listeners for non-passthrough HTTPS listeners at gateways. (Pull Request #33817)
Added support for the
v1alpha2version of the gateway-api. (Pull Request #35009)Added experimental support for the
cluster.localhost behavior as defined by the Kubernetes Multi-Cluster Services (MCS) spec. This feature is off by default, but can be enabled by setting the following flags in Istio:ENABLE_MCS_CLUSTER_LOCAL,ENABLE_MCS_HOSTandENABLE_MCS_SERVICE_DISCOVERY. When enabled, requests to thecluster.localhost will be routed to only those endpoints residing within the same cluster as the client. (Issue #35424)Fixed TCP probes. When using TCP probes with older versions of Istio the check was always successful, even if the application didn’t open the port. (details)
Fixed Gateway API xRoute does not forward the traffic to that backend when weight
0. (Issue #34129)Fixed an issue in which ADS would hang due to the wrong
syncChsize being provided. (Pull Request #34633)Fixed an issue causing Ingress resources with the same name but different namespaces from conflicting. (Issue #31833)
Security
Improved performance of TLS certificate Secret watches to reduce memory usage. (Issue #35231)
Added support to istiod to notice
cacertsfile changes via theAUTO_RELOAD_PLUGIN_CERTSenvironment variable. (Issue #31522)Added
VERIFY_CERT_AT_CLIENTenvironment variable to istiod. SettingVERIFY_CERT_AT_CLIENTtotruewill verify server certificates using the OS CA certificates when not using aDestinationRulecaCertificatesfield. (Issue #33472)Added Auto mTLS support for workload level peer authentication. You no longer need to configure destination rule when servers are configured with workload level peer authentication policy. This can be disabled by setting
ENABLE_AUTO_MTLS_CHECK_POLICIEStofalse. (Issue #33809)Added support for integration of GKE workload certificates. (Issue #35385)
Added values to the Istio Gateway Helm charts for configuring annotations on the ServiceAccount. Can be used to enable IAM Roles for Service Accounts on AWS EKS. (Pull Request #33914)
Added support for JWT claim based routing on ingress gateways. (Pull Request #35762)
Fixed the
EnvoyExternalAuthorizationHttpProviderto match HTTP headers in a case-insensitive way. (Issue #35220)Promoted the external authorization feature from Experimental to Alpha. (Pull Request #104)
Telemetry
- Fixed an issue with
WorkloadGroupandWorkloadEntrylabeling of canonical revision. (Issue #34395)
Extensibility
- Added support for Istio
WasmPluginAPI. (Pull Request #33374)
Installation
Updated
istioctl tag set defaultto control which revision handles Istio resource validation. The revision indicated through the default tag will also win leader elections and assume singleton cluster responsibilities. (Pull Request #35286)Added labels on pod level for istio-operator and istiod. (Issue #33879)
Added pilot service annotations on helm chart. (Issue #35229)
Added support for arm64 API for operator, add nodeAffinity arm64 expression. (Pull Request #35648)
Fixed a bug where specifying same port number with different protocols (TCP and UDP) lead to incorrect merging and rendered an erroneous manifest. (Issue #33841)
Fixed Istioctl not wait on CNI DaemonSet update. (Issue #34811)
Fixed no Permission to list
ServiceExportfrom remote clusters in primary cluster. (Issue #35068)
istioctl
Improved analyzers report output to match the naming scheme expected by the API, i.e
<ns>/<name>instead of<name>.<ns>. (Issue #35405)Improved destination rule ca analyzer to show exact error line when using
istioctl analyze, otherwise it will show the first line of its yaml configuration chunk. (Issue #22872)Updated
istioctl x create-remote-secretandistioctl x remote-clustersto the top level command, out of experimental. (Issue #33799)Added
istioctl installwill now doIST0139analysis on webhooks. (Issue #33537)Added
istioctl x remote-clustersto list the remote clusters eachistiodinstance has API Server credentials for, and the service registry sync status of each cluster. (Issue #33799)Added the pod alias
pofor users to useistioctl x describe po, which is consistent with thekubectlcommand. (Pull Request #34802)Added precheck now detects usage of Alpha Annotations. (Pull Request #35483)
Added
istioctl operator dumpnow supports thewatchedNamespacesargument to specify the namespaces the operator controller watches. (Issue #35485)Fixed
istioctl operatorsubcommands to now support remote URLs specified in the--manifestsargument. (Issue #34896)Fixed
istioctl admin logformat. (Issue #34982)Fixed APP pods (such as httpbin) can not be created if not using ‘istio-system’ as the Istio namespace to install Istio at the first time. And
istioctl install,istioctl tag setandistioctl tag generatewill be influenced. For example, user can set a specified namespace (mesh-1as an example) to install Istio viaistioctl install --set profile=demo --set values.global.istioNamespace=mesh-1 -y(Issue #35539)Fixed
istioctl bug-reporthas the extra default system namespaces displayed when--excludeis not set. (Issue #35593)Fixed the release tar URL by adding the patch version. (Pull Request #35712)
Fixed an issue in istioctl bug-report where –context and –kubeconfig were not being honored. (Issue #35574)