Migrar de Sidecar a Ambient
Esta guía te guía por el proceso de migración de un despliegue de Istio existente desde el modo sidecar al modo ambient. La migración está diseñada para ser gradual y reversible: los workloads en modo sidecar y en modo ambient pueden coexistir en la misma mesh durante el proceso, lo que te permite migrar un namespace a la vez.
Estrategia de migración
La migración sigue un enfoque paso a paso:
- Instalar los componentes ambient: Agrega ztunnel y actualiza el CNI para soportar el modo ambient, sin modificar los workloads con sidecar existentes.
- Migrar las políticas: Convierte los recursos
VirtualServiceaHTTPRoute, actualiza los recursosAuthorizationPolicypara apuntar a waypoints donde sea necesario, y adjunta los recursosRequestAuthenticationyWasmPlugina los waypoints. Omite este paso si solo usas políticas L4. Si tienes políticas L7, ten en cuenta que hay una breve brecha de aplicación durante la migración; consulta la advertencia anterior. - Habilitar el modo ambient por namespace: Etiqueta los namespaces para unirse a la mesh ambient, activa los waypoints, elimina la inyección de sidecar y reinicia los pods.
Cada paso es reversible de forma independiente. No es necesario migrar todos los namespaces a la vez.
Descripción general de la migración de recursos
La siguiente tabla resume cómo se mapean los recursos en modo sidecar con sus equivalentes en modo ambient:
| Recurso en modo sidecar | Acción en modo ambient |
|---|---|
VirtualService | Migrar a HTTPRoute (el soporte de VirtualService es Alpha en ambient) |
DestinationRule (políticas de tráfico: connection pool, detección de anomalías, TLS) | Sin cambios; los waypoints aplican las políticas de tráfico |
DestinationRule (subsets de enrutamiento usados con HTTPRoute) | Crear Services de Kubernetes específicos por versión como backendRefs para HTTPRoute |
AuthorizationPolicy con reglas L4 | Sin cambios; ztunnel aplica las políticas L4 directamente |
AuthorizationPolicy con reglas L7 | Adjuntar al waypoint usando targetRefs |
RequestAuthentication | Adjuntar al waypoint usando targetRefs |
EnvoyFilter | No soportado en waypoints |
WasmPlugin | Adjuntar al waypoint usando targetRefs |
Gateway (networking.istio.io/v1) | No requiere cambios; los recursos Istio Gateway siguen funcionando en modo ambient. Agrega istio.io/ingress-use-waypoint para enrutar el tráfico de ingress a través de un waypoint. |
¿Necesitas waypoint proxies?
Necesitas waypoint proxies si tus workloads usan alguno de los siguientes:
- Reglas L7 de
AuthorizationPolicy(que coincidan con métodos HTTP, paths o headers). - Enrutamiento de tráfico L7 (reintentos, inyección de fallos, manipulación de headers, división de tráfico) mediante
HTTPRoute. Si actualmente usasVirtualServicepara esto, necesitarás migrar aHTTPRoute; el soporte deVirtualServiceen ambient es Alpha. RequestAuthentication(validación JWT).- Enriquecimiento de telemetría L7.
Si no estás seguro, la página migrar políticas te ayuda a auditar tus recursos existentes.
Qué no está soportado
Los siguientes son bloqueadores críticos; la migración no es posible hasta que se resuelvan:
- Workloads en VM en la mesh. Los workloads basados en VM no pueden unirse a la mesh ambient.
- SPIRE como proveedor de certificados. El modo ambient no soporta la integración con SPIRE.
PeerAuthenticationconmode: DISABLE. Ambient siempre aplica mTLS entre workloads de la mesh. Las políticas con modoDISABLEserán ignoradas y no se pueden migrar.- Configuraciones multiclúster primary-remote. Solo se soportan múltiples clústeres primarios. Los despliegues con uno o más clústeres remotos no funcionarán correctamente.
Las siguientes son limitaciones conocidas que afectan el comportamiento durante o después de la migración:
- Los recursos
EnvoyFilterapuntando a waypoints no están soportados. Si dependes deEnvoyFilterpara configuración avanzada de Envoy en tus proxies sidecar, esas configuraciones no pueden trasladarse a los waypoints. Esta API podría soportarse en una versión futura. - El tráfico de workloads en modo sidecar omite los waypoint proxies. Durante una migración incremental, si un workload en modo sidecar llama a un workload en modo ambient que tiene un waypoint, el tráfico omite el waypoint completamente. Las políticas L7 del waypoint no se aplican a ese tráfico hasta que el workload de origen también se migre al modo ambient.
- Los ingress gateways omiten los waypoints por defecto, pero se pueden configurar para enrutar el tráfico
a través de un waypoint agregando la etiqueta
istio.io/ingress-use-waypointal recurso Gateway. - No se soporta mezclar
VirtualServiceyHTTPRoutepara el mismo workload y llevan a un comportamiento indefinido. Migra cada workload completamente a una API antes de continuar.
Próximos pasos
Comienza con Antes de comenzar para verificar tu entorno y hacer una copia de seguridad de tu configuración.