En esta guía, se explica cómo instalar la aplicación de muestra Online Boutique para demostrar el funcionamiento de Anthos Service Mesh. Si no instalaste Anthos Service Mesh, consulta la sección Guías de instalación a fin de elegir la guía adecuada para ti.
Habilita la inserción automática de sidecar
Para habilitar la inserción automática de sidecar (inserción automática) para la aplicación de muestra, debes agregar una etiqueta de revisión al espacio de nombres de la muestra. La etiqueta que agregues depende de si implementaste Anthos Service Mesh administrado o instalaste el plano de control en el clúster. El webhook de inyector de sidecar usa la etiqueta de revisión para asociar los sidecars insertados con una revisión de plano de control en particular.
En el clúster
Crea un espacio de nombres para la aplicación:
kubectl create namespace demo
Usa el siguiente comando para encontrar la etiqueta 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-1106-2-5788d57586-bljj4 1/1 Running 0 23h app=istiod,istio.io/rev=asm-1106-2,istio=istiod,pod-template-hash=5788d57586 istiod-asm-1106-2-5788d57586-vsklm 1/1 Running 1 23h app=istiod,istio.io/rev=asm-1106-2,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-1106-2
.Aplica la etiqueta de revisión al espacio de nombres
demo
. En el siguiente comando, REVISION es el valor de la etiqueta de revisiónistiod
que anotaste en el paso anterior.kubectl label namespace demo 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 etiquetaistio-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 laistio-injection
como la etiqueta de revisión, todos los comandoskubectl label
de la documentación de Anthos Service Mesh incluyen la acción de quitar la etiquetaistio-injection
.
Malla de servicios administrados
Crea un espacio de nombres para la aplicación:
kubectl create namespace demo
Aplica la etiqueta de revisión
asm-managed-rapid
al espacio de nombresdemo
:kubectl label namespace demo istio-injection- istio.io/rev=asm-managed-rapid --overwrite
Esta etiqueta corresponde al canal de versiones administrado de Anthos Service Mesh correspondiente a la versión de Anthos Service Mesh.
Puedes ignorar el mensaje
"istio-injection not found"
en el resultado. Esto significa que el espacio de nombres no tenía la etiquetaistio-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 laistio-injection
como la etiqueta de revisión, todos los comandoskubectl label
de la documentación de Anthos Service Mesh incluyen la acción de quitar la etiquetaistio-injection
.Si también implementaste el plano de datos administrado por Google opcional, anota el espacio de nombres
demo
de la siguiente manera:kubectl annotate --overwrite namespace YOUR_NAMESPACE \ mesh.cloud.google.com/proxy='{"managed":"true"}'
Descarga e implementa la muestra
Ahora que la inserción automática está habilitada en el espacio de nombres demo
, cuando implementas los servicios de la aplicación BookInfo, los proxies de sidecar se insertan junto con cada servicio.
Instala
kpt
si aún no lo hiciste:gcloud components install kpt
Descarga la muestra mediante
kpt
:kpt pkg get \ https://github.com/GoogleCloudPlatform/microservices-demo.git/release \ online-boutique
Implementa la muestra en el clúster:
kubectl apply -n demo -f online-boutique
Busca la dirección IP externa del servicio
frontend-external
:kubectl get service frontend-external -n demo
Visita la aplicación en tu navegador para confirmar la instalación:
http://EXTERNAL_IP/
En GKE, puedes explorar las características de observabilidad de Anthos Service Mesh en la consola de Google Cloud. Ten en cuenta que pueden pasar hasta 10 minutos hasta que gráfico de topología muestre los servicios de tu malla.
Cuando termines de explorar, quita la muestra de Online Boutique:
kubectl delete namespaces demo