Estás viendo la documentación de Anthos Service Mesh 1.8. Consulta la documentación más reciente o selecciona otra versión disponible:

Inserta proxies de sidecar

Anthos Service Mesh usa proxies de sidecar para mejorar la seguridad, confiabilidad y observabilidad de la red. Estas funciones se abstraen del contenedor principal de la aplicación y se implementan en un proxy fuera del proceso común (el archivo adicional), que se entrega como un contenedor por separado en el mismo Pod. Esto proporciona las funciones de Anthos Service Mesh sin rediseñar las aplicaciones de producción a fin de participar en una malla de servicios.

La inserción automática del proxy de sidecar (la inserción automática) ocurre cuando Anthos Service Mesh detecta una etiqueta de espacio de nombres que se configura para el Pod de la carga de trabajo. El proxy intercepta todo el tráfico de entrada y de salida de las cargas de trabajo y se comunica con Anthos Service Mesh.

Habilita la inserción automática de sidecar

La forma recomendada de insertar proxies de sidecar es usar el inyector automático del sidecar basado en webhooks, aunque puedes actualizar de forma manual la configuración de Kubernetes de tus Pods. Para incorporar los Pods con el proxy de sidecar, debes configurar la inserción automática mediante la etiqueta de tus espacios de nombres con la misma etiqueta de revisión que configuraste en istiod cuando instalaste Anthos Service Mesh.

Para habilitarla, usa este comando:

  1. Usa el siguiente comando para encontrar la etiqueta de revisión en istiod:

    kubectl -n istio-system get pods -l app=istiod --show-labels
    

    El resultado es similar al siguiente:

    NAME                                READY   STATUS    RESTARTS   AGE   LABELS
    istiod-asm-186-8-5788d57586-bljj4   1/1     Running   0          23h   app=istiod,istio.io/rev=asm-186-8,istio=istiod,pod-template-hash=5788d57586
    istiod-asm-186-8-5788d57586-vsklm   1/1     Running   1          23h   app=istiod,istio.io/rev=asm-186-8,istio=istiod,pod-template-hash=5788d57586

    En el resultado, en la columna LABELS, observa el valor de la etiqueta de revisión istiod, que está después del prefijo istio.io/rev=. En este ejemplo, el valor es asm-186-8.

  2. Aplica la etiqueta de revisión a los espacios de nombres y quita la etiqueta istio-injection (si existe). En el siguiente comando, NAMESPACE es el nombre del espacio de nombres en el que deseas habilitar la inserción automática y REVISION es la etiqueta de revisión que anotaste en el paso anterior.

    kubectl label namespace NAMESPACE  istio-injection- istio.io/rev=REVISION --overwrite
    

    Puedes ignorar el mensaje "istio-injection not found" en el resultado. Esto significa que el espacio de nombres no tenía la etiqueta istio-injection, que debería aparecer en las nuevas instalaciones de Anthos Service Mesh o en implementaciones nuevas. Debido a que la inserción automática falla si un espacio de nombres tiene tanto la istio-injection como la etiqueta de revisión, todos los comandos kubectl label de la documentación de Anthos Service Mesh incluyen la acción de quitar la etiqueta istio-injection.

  3. Para reiniciar los Pods afectados, sigue los pasos de la siguiente sección.

Reinicia los Pods para actualizar los proxies de sidecar

Con la inserción automática de sidecar, puedes actualizar los sidecars para pods existentes con un reinicio de pods:

La forma en la que reinicias los pods dependerá de si se crearon como parte de un objeto Deployment.

  1. Si usaste un Deployment, debes reiniciarlo, de modo que se reinicien todos los pods con sidecars:

    kubectl rollout restart deployment -n YOUR_NAMESPACE

    Si no usaste un Deployment, borra los pods, y se volverán a crear de forma automática con sidecars:

    kubectl delete pod -n YOUR_NAMESPACE --all
  2. Verifica que todos los pods en el espacio de nombres tengan sidecars incorporados:

    kubectl get pod -n YOUR_NAMESPACE

    En el siguiente resultado de ejemplo del comando anterior, observa que la columna READY indica que hay dos contenedores para cada una de tus cargas de trabajo: el contenedor principal y el contenedor del proxy de sidecar.

    NAME                    READY   STATUS    RESTARTS   AGE
    YOUR_WORKLOAD           2/2     Running   0          20s
    ...
    

Próximos pasos

Conoce más sobre: