¿Cómo obtengo la dirección IP de origen real de un cliente después de agregar un servicio a Istio?
Síntoma
Después de habilitar Istio, la dirección IP de origen del cliente no se puede obtener de los logs de acceso.
Solución
Esta sección utiliza la aplicación de Nginx vinculada a un Service de ELB como ejemplo. El procedimiento es el siguiente:
- Habilitar la función de obtener la dirección IP del cliente en el balanceador de carga
La transmisión transparente de direcciones IP de origen está habilitada por defecto para los balanceadores de carga dedicados. No es necesario activar manualmente esta función.
- Actualizar el gateway asociado a un Service
- Inicie sesión en la consola de CCE y haga clic en el nombre del clúster para acceder a la consola del clúster. En el panel de navegación, elija Networking.
- En la página mostrada, cambie al espacio de nombres istio-system y actualice el gateway asociado al Service.
- Cambie el nivel del Service generado automáticamente en el espacio de nombres istio-system al nivel de nodo.
- Verificar la dirección IP de origen obtenida
- Utilice kubectl para conectarse al clúster.
- Consulte los logs de la aplicación de Nginx.
kubectl logs <pod_name>
En este ejemplo, la dirección IP de origen obtenida por la aplicación de Nginx es la siguiente: