Anthos Service Mesh usa proxies de sidecar para mejorar la seguridad, confiabilidad y observabilidad de la red. Con Anthos Service Mesh, estas funciones se abstraen del contenedor principal de la aplicación y se implementan en un proxy común fuera del proceso, que se entrega como un contenedor separado en el mismo pod. Para aprovechar al máximo las funciones de Anthos Service Mesh, cuando implementas o vuelves a implementar cargas de trabajo, debes insertar un proxy de sidecar al 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
Puedes insertar un proxy de sidecar de forma manual si actualizas la configuración de Kubernetes de tus pods, o puedes usar la inserción automática de sidecar basada en webhooks. De forma predeterminada, la inserción automática de sidecar está inhabilitada para todos los espacios de nombres. Para habilitarla, usa este comando:
kubectl label namespace NAMESPACE istio-injection=enabled --overwrite
En el ejemplo anterior, NAMESPACE
es el nombre del espacio de nombres de los servicios de tu aplicación o es default
si no creaste un espacio de nombres de forma explícita.
Debido a que los sidecars se insertan cuando se crean los pods, debes reiniciar cualquier pod en ejecución para que el cambio se efectúe.
Inserción manual de sidecar
Para insertar los sidecars de forma manual, consulta Instala el sidecar.
Actualiza los sidecars para pods existentes
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.
Si usaste un Deployment, debes reiniciarlo, de modo que se reinicien todos los pods con sidecars:
kubectl rollout restart deployment
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
Verifica que todos los pods en el espacio de nombres tengan sidecars incorporados:
kubectl get pod -n YOUR_NAMESPACE --all
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 ...
¿Qué sigue?
Conoce más sobre: