Notas de Cambios
Notas de versión de Istio 1.28.0.
Gestión de Tráfico
Promovido el soporte dual-stack de Istio a beta. (Issue #54127)
Actualizado el valor predeterminado para el máximo de conexiones aceptadas por evento de socket. El valor predeterminado ahora es 1 para los listeners entrantes y salientes que enlazan explícitamente a puertos en sidecars. Los listeners sin intercepción de iptables se beneficiarán de un mejor rendimiento en escenarios de alta rotación de conexiones. Para obtener el comportamiento anterior, puedes configurar
MAX_CONNECTIONS_PER_SOCKET_EVENT_LOOPa cero.Añadido soporte para atributos de cookies en el balanceo de carga con hash consistente. Ahora puedes especificar atributos adicionales, como
SameSite,SecureyHttpOnly. Esto permite un manejo de cookies más seguro y conforme en escenarios de balanceo de carga. (Issue #56468), (Issue #49870)Añadida la variable de entorno
DISABLE_SHADOW_HOST_SUFFIXpara controlar el comportamiento del sufijo de host shadow en las políticas de mirroring. Cuando se establece entrue(predeterminado), se añaden sufijos de host shadow a los nombres de host de las solicitudes reflejadas. Cuando se establece enfalse, no se añaden sufijos de host shadow. Esto proporciona compatibilidad con versiones anteriores para los usuarios que actualizan desde versiones anteriores de Istio donde los sufijos de host shadow se añadían por defecto a través de perfiles de compatibilidad. (Issue #57530)Añadido soporte para
sectionNameenBackendTLSPolicyde la Gateway API para habilitar la configuración TLS específica por puerto. Esto permite seleccionar puertos específicos de un Service por nombre, habilitando diferentes configuraciones TLS por puerto. Por ejemplo, ahora es posible configurar TLS únicamente para el puertohttpsde unService, sin afectar los demás puertos.Añadido soporte para
ServiceEntrycomotargetRefenBackendTLSPolicy. Esto permite a los usuarios aplicar configuraciones TLS a servicios externos definidos por recursosServiceEntry. (Issue #57521)Añadido soporte para nftables nativo al usar el modo ambient de Istio. Esta actualización hace posible usar nftables en lugar de iptables para gestionar las reglas de red. Para habilitar el modo nftables, usa
--set values.global.nativeNftables=trueal instalar Istio. (Issue #57324)Añadido soporte para hosts comodín en recursos
ServiceEntrycon resoluciónDYNAMIC_DNS. Esto solo se admite para el tráfico HTTP por ahora. Requiere modo ambient y un waypoint configurado como gateway de salida. (Issue #54540)Añadido soporte para cabeceras
X-ForwardedenProxyConfig.ProxyHeaders.Habilitados los waypoints para enrutar tráfico a redes remotas en multiclúster ambient. (Issue #57537)
Corregido un error donde ztunnel no usaba correctamente el mapa de puertos de
WorkloadEntryal referenciar un nombre de puerto deService. (Issue #56251)Corregido un problema donde el observador de etiquetas no consideraba que la revisión predeterminada era la misma que la etiqueta predeterminada. Esto causaba problemas donde los gateways de Kubernetes no se programaban. (Issue #56767)
Corregido un error donde el número de puerto de
Serviceshadow para unInferencePoolcomenzaba con 543210 en lugar de 54321. (Issue #57472)Corregido un problema donde el data plane de ambient no manejaba correctamente los
ServiceEntriescon resolución configurada comoNONE. Anteriormente, la configuración tendría un VIP pero sin endpoints, lo que resultaría en un error “no healthy upstream”. Este escenario ahora se configura como un servicioPASSTHROUGH, lo que significa que las direcciones llamadas por el cliente se usarán como backend. (Issue #57656)Corregido un problema donde la configuración del pool de conexiones HTTP/2 no se aplicaba al habilitar las actualizaciones HTTP/2. (Issue #57583)
Corregidos los despliegues de waypoint para usar el
terminationGracePeriodSecondspredeterminado de Kubernetes (30 segundos) en lugar de un valor fijo de 2 segundos.Añadido soporte para
InferencePoolv1. (Issue #57219)Eliminado el soporte para las versiones alpha y release candidate de
InferencePool.
Seguridad
Mejorado el análisis de certificados raíz cuando algunos certificados son inválidos. Istio ahora filtra los certificados mal formados en lugar de rechazar el bundle completo.
Añadido el campo
caCertCredentialNameenServerTLSSettingspara referenciar unSecret/ConfigMapque contiene certificados CA para mTLS. Consulta uso o referencia para más información. (Issue #43966)Añadido el despliegue opcional de
NetworkPolicypara istiod. Puedes establecerglobal.networkPolicy.enabled=truepara desplegar unaNetworkPolicypredeterminada para istiod y gateways. Se planea ampliar esta funcionalidad más adelante para incluir tambiénNetworkPolicypara istio-cni y ztunnel. (Issue #56877)Añadido soporte para configurar
seccompProfileen los contenedoresistio-validationeistio-proxydentro de la plantilla de inyección sidecar. Los usuarios ahora pueden establecerseccompProfile.typeaRuntimeDefaultpara mejorar el cumplimiento de seguridad. (Issue #57004)Añadido soporte para
FrontendTLSValidation(GEP-91) en la Gateway API. Consulta uso y referencia para más información. (Issue #43966)Corregida la configuración del filtro JWT para soportar claims personalizados delimitados por espacios. La configuración del filtro JWT ahora incluye correctamente los claims personalizados delimitados por espacios especificados por el usuario además de los claims predeterminados (“scope” y “permission”). Esto garantiza que el filtro JWT de Envoy trate estos claims como cadenas delimitadas por espacios, permitiendo la validación correcta de los tokens JWT que los contienen. Para configurar claims personalizados delimitados por espacios, usa el campo
spaceDelimitedClaimsen la configuración de la regla JWT dentro del recursoRequestAuthentication. (Issue #56873)Eliminado el uso de MD5 para optimizar comparaciones. Istio no ha usado MD5 para propósitos criptográficos. El cambio es simplemente para hacer el código más fácil de auditar y ejecutar en modo FIPS 140-3.
Telemetría
Actualizado el valor predeterminado de la variable de entorno
PILOT_SPAWN_UPSTREAM_SPAN_FOR_GATEWAYatrue, habilitando la generación de spans ascendentes para solicitudes de gateway por defecto.Añadido soporte para las anotaciones
sidecar.istio.io/statsFlushIntervalysidecar.istio.io/statsEvictionInterval.Añadido soporte para la configuración
TraceContextOptionde Zipkin para habilitar la propagación dual de cabeceras B3/W3C. Configura contrace_context_option: USE_B3_WITH_W3C_PROPAGATIONenextensionProvidersde MeshConfig para extraer cabeceras B3 preferentemente, recurrir a cabeceras W3Ctraceparentcomo alternativa, e inyectar ambos tipos de cabeceras en el upstream para una mejor interoperabilidad de trazado. Consulta la documentación de Envoy, la referencia deMeshConfigy la guía de uso para obtener más información.Eliminado el soporte de vencimiento de métricas. Usa
StatsEvictionen la configuración de bootstrap en su lugar.
Extensibilidad
- Corregido un problema donde
EnvoyFilterusandotargetRefcon tipoGatewayClassy grupogateway.networking.k8s.ioen el namespace raíz no se propagaba correctamente.
Instalación
Actualizado el chart de Helm de istiod para crear recursos
EndpointSliceen lugar deEndpointspara instalaciones remotas de istiod debido a la deprecación deEndpointsa partir de Kubernetes 1.33. (Issue #57037)Actualizado el addon Kiali a la versión v2.17.0.
Añadida la posibilidad de establecer completamente a null los límites o solicitudes de recursos en el chart de gateway.
Añadido soporte para instalaciones “basadas en persona” a nuestros charts de Helm basado en el alcance de los recursos generados/aplicados.
- Si no se establece
resourceScope, se instalarán todos los recursos. Este es el mismo comportamiento que un usuario esperaría de los charts de 1.27. - Si
resourceScopese establece ennamespace, solo se instalarán los recursos con alcance de namespace. - Si
resourceScopese establece encluster, solo se instalarán los recursos con alcance de clúster. Esto puede permitir que un administrador de Kubernetes gestione los recursos del clúster y que el administrador del mesh gestione los recursos del mesh. Para el chart de ztunnel,resourceScopees un campo de nivel superior. Para todos los demás charts, es un campo bajoglobal. (Issue #57530)
- Si no se establece
Añadido soporte para la variable de entorno
FORCE_IPTABLES_BINARYpara anular la detección del backend de iptables y usar un binario específico. (Issue #57827)Añadidos
.Values.podLabelsy.Values.daemonSetLabelsal chart de Helm de istio-cni.Añadida la configuración
service.clusterIPal chart de Gateway para soportar la anulación delspec.clusterIPdel recursoService. Esto puede resultar útil cuando el usuario desea establecer una dirección IP de clúster específica para el servicio Gateway en lugar de depender de la asignación automática.Añadida una nueva representación de las etiquetas de revisión usando servicios de IP de clúster, diseñada para dejar de usar webhooks mutantes en modo ambient. Tanto
istioctl tag set <tag> --revision <rev>como el valorrevisionTagsdel chart de Helm crearán unMutatingWebhookutilizando las especificaciones actuales y unServicesimilar alServicede istiod, pero con la etiquetaistio.io/tagpara almacenar el mapeo.Añadida la opción
internalTrafficPolicypara el servicio de gateway (necesaria, por ejemplo, al instalar ArgoCD con gateway, ya que se trata de una aplicación interna).Corregido un problema donde el PDB creado por una instalación predeterminada bloqueaba el drenado de nodos de Kubernetes. (Issue #12602)
Actualizado el soporte de la Gateway API a v1.4. Esto introduce soporte para
BackendTLSPolicyv1.
istioctl
Añadida la detección automática de la revisión predeterminada en los comandos de
istioctl. Cuando--revisionno se especifica explícitamente, se usará automáticamente la revisión predeterminada (según lo configurado poristioctl tag set default). (Issue #54518)Añadido soporte para especificar tanto
--levelcomo--stack-trace-levelparaistioctl admin log. (Issue #57007)Añadido soporte para especificar el puerto de administración del proxy para
istioctl experimental authz,istioctl proxystatus,istioctl bug-reporteistioctl experimental describecon el flag--proxy-admin-port.Añadidos flags para soportar la lista de tipos de depuración para
istioctl experimental internal-debug. (Issue #57372)Añadido soporte para mostrar información de conexión para
istioctl ztunnel-config all.Corregido el analizador IST0173 (
DestinationRuleSubsetNotSelectPods) que marcaba incorrectamente los subconjuntos deDestinationRulecomo no seleccionando ningún pod cuando los subconjuntos usaban etiquetas de topología.