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 archivo adicional 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. De forma predeterminada, la inserción automática de sidecar está inhabilitada para todos los espacios de nombres.
Para habilitar la inserción automática de sidecar, haz lo siguiente:
Usa el siguiente comando para ubicar la etiqueta en
istiod
, que contiene el valor de la etiqueta de revisión que se usará en pasos posteriores.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-173-3-5788d57586-bljj4 1/1 Running 0 23h app=istiod,istio.io/rev=asm-173-3,istio=istiod,pod-template-hash=5788d57586 istiod-asm-173-3-5788d57586-vsklm 1/1 Running 1 23h app=istiod,istio.io/rev=asm-173-3,istio=istiod,pod-template-hash=5788d57586
En el resultado, en la columna
LABELS
, observa el valor de la etiqueta de revisiónistiod
, que está después del prefijoistio.io/rev=
. En este ejemplo, el valor esasm-173-3
.Aplica la etiqueta de revisión a los espacios de nombres. En el siguiente comando, NAMESPACE es el nombre del espacio de nombres en el que quieres que se produzca la inyección del sidecar y REVISION es la etiqueta de revisión
istiod
que anotaste en el paso anterior.kubectl label namespace NAMESPACE istio-injection- istio.io/rev=REVISION --overwrite
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.
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
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 ...
¿Qué sigue?
Conoce más sobre: