Anthos Service Mesh es un framework compatible con Istio para conectar, supervisar y proteger los servicios que se ejecutan en Google Kubernetes Engine (GKE) y GKE en VMware. Te permite crear una red de servicios implementados con balanceo de cargas, autenticación de servicio a servicio, supervisión y más, sin requerir ningún cambio en el código de servicio. Anthos Service Mesh inserta de forma automática un proxy de sidecar para cada Pod de tu aplicación. El proxy de sidecar intercepta todo el tráfico de red desde los Pods y hacia ellos. Anthos Service Mesh también configura una puerta de enlace de entrada para administrar el tráfico entrante a la malla. Puedes usar las API de Istio de código abierto para configurar las políticas que se aplican en los sidecars y las puertas de enlace.
En esta guía, se explica cómo instalar la versión 1.5.10 de Anthos Service Mesh en un clúster nuevo de GKE de Google Cloud. La instalación habilita las siguientes características:
- Telemetría de malla
- Seguridad de malla, incluida la autoridad certificada de Anthos Service Mesh (CA de Mesh)
- Las funciones predeterminadas compatibles que se muestran en la página Funciones compatibles.
En esta guía, también se explica cómo registrar tu clúster en la flota que se encuentra en el mismo proyecto de Google Cloud que el clúster. Una flota te permite organizar clústeres para facilitar la administración de varios clústeres. Mediante el registro de tus clústeres en una flota, puedes agrupar servicios y otras infraestructuras según sea necesario para aplicar políticas coherentes.
Antes de comenzar
En esta guía, suponemos que ya tienes lo siguiente:
Antes de comenzar la instalación, haz lo siguiente:
- Configura el entorno. A partir de 1.5.10-asm.2, la instalación requiere
kpt
. - Revisa los siguientes requisitos y restricciones.
Requisitos
Debes tener una licencia de prueba o suscripción de GKE Enterprise. Consulta la guía de precios de GKE Enterprise para obtener más detalles.
El clúster de GKE debe cumplir con los siguientes requisitos:
- Debe tener al menos cuatro nodos.
- El tipo de máquina mínimo es
e2-standard-4
, que tiene cuatro CPU virtuales. - Usa un canal de versiones en lugar de una versión estática de GKE.
Para que se los incluya en la malla de servicios, los puertos de servicio deben tener un nombre, y ese nombre debe incluir el protocolo del puerto en la siguiente sintaxis:
name: protocol[-suffix]
, en la que los corchetes indican un sufijo opcional que debe comenzar con un guion. Para obtener más información, Asigna nombres a puertos de servicio.Si instalas Anthos Service Mesh en un clúster privado, debes agregar una regla de firewall para abrir el puerto 15017 si deseas usar la inserción automática del sidecar. Si no agregas la regla de firewall y la incorporación automática de sidecar está habilitada, recibirás un error cuando implementes las cargas de trabajo. Si deseas obtener más detalles sobre cómo agregar una regla de firewall, consulta Agrega reglas de firewall para casos de uso específicos.
Si creaste un perímetro de servicio en tu organización, es posible que debas agregar el servicio de CA de Mesh al perímetro. Para obtener más información, consulta Agrega la CA de Mesh a un perímetro de servicio.
Restricciones
Solo se admite una instalación de Anthos Service Mesh por proyecto de Google Cloud. No se admiten varias implementaciones de malla en un solo proyecto.
Datos del certificado
En los certificados de CA de Mesh, se incluyen los siguientes datos sobre los servicios de tu aplicación:
- El ID del proyecto de Google Cloud
- El espacio de nombres de GKE
- El nombre de la cuenta de servicio de GKE
Configura el proyecto
-
Obtén el ID del proyecto en el que se creará el clúster:
gcloud
gcloud projects list
Consola
- En la consola de Google Cloud, ve a la página Panel:
-
Haz clic en la lista desplegable Seleccionar desde en la parte superior de la página. En la ventana Seleccionar una opción que aparece, elige tu proyecto.
El ID del proyecto se muestra en la tarjeta de Información del proyecto del panel del proyecto.
- Crea una variable de entorno para el ID del proyecto:
export PROJECT_ID=YOUR_PROJECT_ID
-
Configura el ID del proyecto predeterminado para la herramienta de línea de comandos de
gcloud
:gcloud config set project ${PROJECT_ID}
- Crea una variable de entorno para el número de proyecto:
export PROJECT_NUMBER=$(gcloud projects describe ${PROJECT_ID} --format="value(projectNumber)")
-
Configura las funciones de administración de identidades y accesos (IAM) requeridas. Si eres propietario del proyecto, tienes todos los permisos necesarios para completar la instalación y registrar el clúster con tu Environ.
Si no eres un propietario del proyecto, necesitas que alguien te otorgue las siguientes funciones específicas de IAM. En el siguiente comando, cambia
GCP_EMAIL_ADDRESS
por la cuenta que usas para acceder a Google Cloud.gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member user:GCP_EMAIL_ADDRESS \ --role=roles/editor \ --role=roles/compute.admin \ --role=roles/container.admin \ --role=roles/resourcemanager.projectIamAdmin \ --role=roles/iam.serviceAccountAdmin \ --role=roles/iam.serviceAccountKeyAdmin \ --role=roles/gkehub.admin
Para obtener más información sobre cómo otorgar funciones de IAM, consulta Otorga, cambia y revoca el acceso a los recursos. Si deseas obtener una descripción de estas funciones, consulta Permisos necesarios para instalar Anthos Service Mesh.
- Habilita las siguientes APIs:
gcloud services enable \ container.googleapis.com \ compute.googleapis.com \ monitoring.googleapis.com \ logging.googleapis.com \ cloudtrace.googleapis.com \ meshca.googleapis.com \ meshtelemetry.googleapis.com \ meshconfig.googleapis.com \ iamcredentials.googleapis.com \ anthos.googleapis.com \ gkeconnect.googleapis.com \ gkehub.googleapis.com \ cloudresourcemanager.googleapis.com
Habilitar las API puede tomar un minuto o más en completarse. Cuando las API están habilitadas, ves un resultado similar al siguiente:
Operation "operations/acf.601db672-88e6-4f98-8ceb-aa3b5725533c" finished successfully.
Configura un clúster de GKE nuevo
En esta sección, se explican los conceptos básicos de la creación de un clúster de GKE con las opciones necesarias para Anthos Service Mesh. Para obtener más información, consulta Crea un clúster.
Para configurar un clúster nuevo, haz lo siguiente:
Selecciona una zona o región, un tipo de máquina y un canal de versiones de GKE para el clúster nuevo. El tipo de máquina mínimo que requiere Anthos Service Mesh es e2-standard-4. Puedes usar cualquier opción del canal de versiones.
Si vas a crear un clúster de zona única, ejecuta el siguiente comando para obtener una lista de las zonas de GCP disponibles:
gcloud compute zones list
Si vas a crear un clúster regional, ejecuta el siguiente comando para obtener una lista de las regiones disponibles:
gcloud compute regions list
Para obtener una lista de los tipos de máquina, ejecuta el siguiente comando:
gcloud compute machine-types list | more
Crea las siguientes variables de entorno:
Configura el nombre del clúster:
export CLUSTER_NAME=YOUR_CLUSTER_NAME
El nombre del clúster solo debe contener caracteres alfanuméricos en minúscula y el signo “-”, debe comenzar con una letra y terminar con un carácter alfanumérico, y no puede tener más de 40 caracteres.
Establece
CLUSTER_LOCATION
en la zona o en la región del clúster:export CLUSTER_LOCATION=YOUR_ZONE_OR_REGION
Establece el grupo de cargas de trabajo:
export WORKLOAD_POOL=${PROJECT_ID}.svc.id.goog
Establece el ID de la malla:
export MESH_ID="proj-${PROJECT_NUMBER}"
Configura el canal de versiones. Reemplaza
YOUR_CHANNEL
por uno de los siguientes valores:regular
,stable
orapid
.export CHANNEL=YOUR_CHANNEL
Para obtener una descripción de cada canal, consulta Qué canales están disponibles.
Establece la zona o región predeterminada para Google Cloud CLI.
En un clúster de zona única, establece la zona predeterminada:
gcloud config set compute/zone ${CLUSTER_LOCATION}
En un clúster regional, establece la región predeterminada:
gcloud config set compute/region ${CLUSTER_LOCATION}
Sugerencia: Para facilitar la configuración del entorno de shell en lo sucesivo, puedes copiar y pegar las declaraciones
export
de cada variable de entorno a una secuencia de comandos de shell sencilla quesource
cuando inicias una shell nueva. También puedes agregar los comandos degcloud
que establecen los valores predeterminados a la secuencia de comandos. O puedes usargcloud init
para crear y activar una configuración degcloud
con nombre.Crea el clúster con las opciones que requiere Anthos Service Mesh. Con el siguiente comando, se crea un clúster que contiene 4 nodos de tipo de máquina e2-standard-4, que tiene 4 CPU virtuales. Este es el tipo de máquina mínimo y la cantidad de nodos necesarios para Anthos Service Mesh. Puedes especificar otro tipo de máquina siempre que tenga al menos 4 CPU virtuales y aumentar la cantidad de nodos según sea necesario para los requisitos de tu sistema.
gcloud beta container clusters create ${CLUSTER_NAME} \ --machine-type=e2-standard-4 \ --num-nodes=4 \ --workload-pool=${WORKLOAD_POOL} \ --enable-stackdriver-kubernetes \ --subnetwork=default \ --labels=mesh_id=${MESH_ID} \ --release-channel=${CHANNEL}
El comando
clusters create
incluye lo siguiente:workload-pool=${WORKLOAD_POOL}
: Habilita Workload Identity, que es la forma recomendada de acceder de forma segura a los servicios de Google Cloud desde las aplicaciones de GKE.enable-stackdriver-kubernetes
: Habilita Cloud Monitoring y Cloud Logging en GKE.subnetwork=default
: Crea una subred predeterminada.labels mesh_id=${MESH_ID}
: Configura la etiquetamesh_id
en el clúster, que se requiere para que las métricas se muestren en las páginas de Anthos Service Mesh en la consola de Google Cloud.release-channel ${CHANNEL}
: Inscribe el clúster en el canal de versiones especificado.
Configura credenciales y permisos
Antes de continuar, asegúrate de haber habilitado todas las API necesarias. Si tienes dudas, puedes volver a ejecutar el comando gcloud services enable, ya que no generará ningún problema.
- Inicializa tu proyecto a fin de prepararlo para la instalación. Entre otros aspectos, este comando crea una cuenta de servicio para permitir que los componentes de Istio, como el proxy de sidecar, accedan a los datos y a los recursos del proyecto de forma segura:
curl --request POST \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --data '' \ https://meshconfig.googleapis.com/v1alpha1/projects/${PROJECT_ID}:initialize
El comando responde con llaves vacías:
{}
.Si instalas una versión nueva de Anthos Service Mesh en este clúster en el futuro, no será necesario que vuelvas a ejecutar el comando, pero ejecutarlo de nuevo no afectará la instalación.
-
Obtén
credenciales de autenticación para interactuar con el clúster:
gcloud container clusters get-credentials ${CLUSTER_NAME}
-
Otorga permisos de administrador de clúster al usuario actual. Estos permisos se requieren a fin de crear las reglas de control de acceso basado en funciones (RBAC) necesarias para Anthos Service Mesh:
kubectl create clusterrolebinding cluster-admin-binding \ --clusterrole=cluster-admin \ --user="$(gcloud config get-value core/account)"
Si ves el error
"cluster-admin-binding" already exists
, puedes ignorarlo sin problemas y continuar con la vinculación del administrador del clúster existente.
Registra tu clúster
Debes registrar tu clúster en la flota del proyecto para obtener acceso a la interfaz de usuario unificada en la consola de Google Cloud. Una flota proporciona una forma unificada de ver y administrar los clústeres y sus cargas de trabajo, incluidos los clústeres fuera de Google Cloud.
Crea una cuenta de servicio de Google Cloud y un archivo de claves
Se requiere un archivo JSON que contenga las credenciales de la cuenta de servicio para registrar un clúster. Para seguir el principio de privilegio mínimo, te recomendamos que crees una cuenta de servicio distinta para cada clúster que registres.
Para crear una cuenta de servicio y un archivo de claves, haz lo siguiente:
Selecciona un nombre para la cuenta de servicio y crea una variable de entorno para ella:
export SERVICE_ACCOUNT_NAME=SERVICE_ACCOUNT_NAME
Crea la cuenta de servicio:
gcloud iam service-accounts create ${SERVICE_ACCOUNT_NAME}
Enumera todas las cuentas de servicio de un proyecto para confirmar que se creó la cuenta de servicio:
gcloud iam service-accounts list
Vincula la función de IAM gkehub.connect a la cuenta de servicio:
gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member="serviceAccount:${SERVICE_ACCOUNT_NAME}@${PROJECT_ID}.iam.gserviceaccount.com" \ --role="roles/gkehub.connect"
Crea una variable de entorno para la ruta de archivo local en la que deseas guardar el archivo JSON. Te recomendamos nombrar el archivo con el nombre de la cuenta de servicio y el ID del proyecto, por ejemplo:
/tmp/creds/${SERVICE_ACCOUNT_NAME}-${PROJECT_ID}.json
export SERVICE_ACCOUNT_KEY_PATH=LOCAL_KEY_PATH
Descarga el archivo JSON de claves privadas de la cuenta de servicio:
gcloud iam service-accounts keys create ${SERVICE_ACCOUNT_KEY_PATH} \ --iam-account=${SERVICE_ACCOUNT_NAME}@${PROJECT_ID}.iam.gserviceaccount.com
Registre el clúster
En el siguiente comando, reemplaza MEMBERSHIP_NAME
por un nombre que solo represente el clúster que se registra en centro.
gcloud container hub memberships register MEMBERSHIP_NAME \ --gke-cluster=${CLUSTER_LOCATION}/${CLUSTER_NAME} \ --service-account-key-file=${SERVICE_ACCOUNT_KEY_PATH}
El comando responderá con un resultado similar al siguiente:
kubeconfig entry generated for CLUSTER_NAME. Waiting for membership to be created...done. Created a new membership [projects/PROJECT_ID/locations/global/memberships/MEMBERSHIP_NAME] for the cluster [MEMBERSHIP_NAME] Generating the Connect Agent manifest... Deploying the Connect Agent on cluster [MEMBERSHIP_NAME] in namespace [gke-connect]... Deployed the Connect Agent on cluster [MEMBERSHIP_NAME] in namespace [gke-connect]. Finished registering the cluster [MEMBERSHIP_NAME] with the Hub.
Esta clave de la cuenta de servicio se almacena como un secreto llamado creds-gcp
en el espacio de nombres gke-connect
.
Para obtener más información sobre el registro de clústeres, consulta Cómo registrar un clúster en la documentación de Connect.
Descarga el archivo de instalación
Antes de continuar, verifica que la cuenta de servicio del plano de datos de la malla de ASM sea miembro del proyecto:
gcloud projects get-iam-policy ${PROJECT_ID} | grep -B 1 'roles/meshdataplane.serviceAgent'
Si el comando anterior no genera ningún resultado, vuelve a la sección Establece credenciales y permisos y ejecuta el comando curl
.
-
Descarga el archivo de instalación de Anthos Service Mesh en el directorio de trabajo actual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.5.10-asm.2-linux.tar.gz
-
Descarga el archivo de firma y usa
openssl
para verificar la firma:curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.5.10-asm.2-linux.tar.gz.1.sig openssl dgst -verify - -signature istio-1.5.10-asm.2-linux.tar.gz.1.sig istio-1.5.10-asm.2-linux.tar.gz <<'EOF' -----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF
El resultado esperado es:
Verified OK
. -
Extrae el contenido del archivo a cualquier ubicación en tu sistema de archivos. Por ejemplo, para extraer el contenido en el directorio de trabajo actual, ingresa este comando:
tar xzf istio-1.5.10-asm.2-linux.tar.gz
El comando crea un directorio de instalación en tu directorio de trabajo actual llamado
istio-1.5.10-asm.2
que contiene lo siguiente:- Aplicaciones de muestra en
samples
- Las siguientes herramientas del directorio
bin
:istioctl
: Usaistioctl
para instalar Anthos Service Mesh.asmctl
: Usaasmctl
para ayudar a validar la configuración de seguridad después de instalar Anthos Service Mesh. Por el momento,asmctl
no es compatible con GKE en VMware.
- Aplicaciones de muestra en
-
Descarga el archivo de instalación de Anthos Service Mesh en el directorio de trabajo actual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.5.10-asm.2-osx.tar.gz
-
Descarga el archivo de firma y usa
openssl
para verificar la firma:curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.5.10-asm.2-osx.tar.gz.1.sig openssl dgst -sha256 -verify /dev/stdin -signature istio-1.5.10-asm.2-osx.tar.gz.1.sig istio-1.5.10-asm.2-osx.tar.gz <<'EOF' -----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF
El resultado esperado es:
Verified OK
. -
Extrae el contenido del archivo a cualquier ubicación en tu sistema de archivos. Por ejemplo, para extraer el contenido en el directorio de trabajo actual, ingresa este comando:
tar xzf istio-1.5.10-asm.2-osx.tar.gz
El comando crea un directorio de instalación en tu directorio de trabajo actual llamado
istio-1.5.10-asm.2
que contiene lo siguiente:- Aplicaciones de muestra en
samples
- Las siguientes herramientas del directorio
bin
:istioctl
: Usaistioctl
para instalar Anthos Service Mesh.asmctl
: Usaasmctl
para ayudar a validar la configuración de seguridad después de instalar Anthos Service Mesh. Por el momento,asmctl
no es compatible con GKE en VMware.
- Aplicaciones de muestra en
-
Descarga el archivo de instalación de Anthos Service Mesh en el directorio de trabajo actual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.5.10-asm.2-win.zip
-
Descarga el archivo de firma y usa
openssl
para verificar la firma:curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.5.10-asm.2-win.zip.1.sig openssl dgst -verify - -signature istio-1.5.10-asm.2-win.zip.1.sig istio-1.5.10-asm.2-win.zip <<'EOF' -----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF
El resultado esperado es:
Verified OK
. -
Extrae el contenido del archivo a cualquier ubicación en tu sistema de archivos. Por ejemplo, para extraer el contenido en el directorio de trabajo actual, ingresa este comando:
tar xzf istio-1.5.10-asm.2-win.zip
El comando crea un directorio de instalación en tu directorio de trabajo actual llamado
istio-1.5.10-asm.2
que contiene lo siguiente:- Aplicaciones de muestra en
samples
- Las siguientes herramientas del directorio
bin
:istioctl
: Usaistioctl
para instalar Anthos Service Mesh.asmctl
: Usaasmctl
para ayudar a validar la configuración de seguridad después de instalar Anthos Service Mesh. Por el momento,asmctl
no es compatible con GKE en VMware.
- Aplicaciones de muestra en
-
Asegúrate de estar en el directorio raíz de la instalación de Anthos Service Mesh.
cd istio-1.5.10-asm.2
-
Para mayor comodidad, agrega las herramientas que contiene el directorio
/bin
a tu ruta de acceso (PATH).export PATH=$PWD/bin:$PATH
Linux
macOS
Windows
Prepara los archivos de configuración de recursos
Cuando ejecutes el istioctl apply command
para instalar Anthos Service Mesh, especifica -f istio-operator.yaml
en la línea de comandos. Este archivo contiene información sobre su proyecto y clúster que se necesita para habilitar las funciones de seguridad y telemetría de Mesh. Debes descargar el archivo de configuración istio-operator.yaml
y otros archivos de configuración de recursos, y configurar la información del proyecto y del clúster.
Para preparar los archivos de configuración de recursos, sigue estos pasos:
Si aún no lo hiciste, instala
kpt
:gcloud components install kpt
De forma opcional, crea un directorio nuevo para los archivos de configuración de recursos del paquete de Anthos Service Mesh. Si planeas configurar más de un clúster, puede usar el nombre del clúster como el nombre del directorio.
Cambia al directorio en el que deseas descargar el paquete de Anthos Service Mesh.
Descarga el paquete de Anthos Service Mesh en el directorio de trabajo actual:
kpt pkg get \ https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.5-asm .
Configura el nombre del clúster:
kpt cfg set asm gcloud.container.cluster ${CLUSTER_NAME}
De forma opcional, personaliza los archivos de configuración de recursos con los métodos set
kpt
. De forma predeterminada, estos métodos set usan los valores predeterminados paragcloud config
. Si estableces los valores predeterminados degcloud config
o si deseas cambiar los valores, ejecuta los siguientes métodos set:Configura el ID del proyecto:
kpt cfg set asm gcloud.core.project ${PROJECT_ID}
Establece la zona o región predeterminada:
kpt cfg set asm gcloud.compute.location ${CLUSTER_LOCATION}
De forma opcional, puedes registrar los archivos de configuración de recursos en tu propio sistema de control de origen, como Cloud Source Repositories, para realizar un seguimiento de los cambios en los archivos.
Instala Anthos Service Mesh
En esta sección, se explica cómo instalar Anthos Service Mesh y habilitar lo siguiente:
- Las funciones predeterminadas compatibles que se muestran en la página Funciones compatibles.
- La autoridad certificadora de Anthos Service Mesh (CA de Mesh)
- La canalización de datos de telemetría que potencia los paneles de Anthos Service Mesh en la consola de Google Cloud.
Para obtener información sobre cómo habilitar las características opcionales compatibles, consulta Habilita características opcionales.
Para instalar Anthos Service Mesh, ejecuta este comando:
Elige uno de los siguientes comandos para configurar Anthos Service Mesh en el modo de autenticación PERMISSIVE
de mutual TLS (mTLS) o el modo STRICT
de mTLS.
PERMISSIVE de mTLS
istioctl manifest apply --set profile=asm \ -f asm/cluster/istio-operator.yaml
STRICT de mTLS
istioctl manifest apply --set profile=asm \ -f asm/cluster/istio-operator.yaml \ --set values.global.mtls.enabled=true
Valida la instalación
Te recomendamos que uses la herramienta de análisis asmctl
para validar la configuración básica del proyecto, el clúster y las cargas de trabajo. Si una prueba asmctl
falla, asmctl
recomienda soluciones, si es posible. El comando asmctl validate
ejecuta pruebas básicas que verifican lo siguiente:
- Que las API requeridas por Anthos Service Mesh estén habilitadas en el proyecto
- Que Istio-Ingressgateway esté configurado de forma correcta para que llame a la CA de Mesh
- El estado general de Istiod e Istio-Ingressgateway
Si ejecutas el comando asmctl validate
con la marca opcional --with-testing-workloads
, además de las pruebas básicas, asmctl
ejecuta pruebas de seguridad que verifican lo siguiente:
- Que la comunicación mutua de TLS (mTLS) está configurada de forma correcta.
- Que la CA de Mesh pueda emitir certificados.
Para ejecutar las pruebas de seguridad, asmctl
implementa cargas de trabajo en un espacio de nombres de prueba ubicado en tu clúster, ejecuta las pruebas de comunicación de mTLS, muestra los resultados y borra el espacio de nombres de prueba.
Para ejecutar asmctl
, sigue estos pasos:
Asegúrate de que las credenciales predeterminadas de la aplicación de gcloud estén configuradas:
gcloud auth application-default login
Si aún no lo hiciste, obtén las credenciales de autenticación para interactuar con el clúster:
gcloud container clusters get-credentials ${CLUSTER_NAME}
Para ejecutar pruebas básicas y de seguridad (en el caso de que
istio-1.5.10-asm.2/bin
esté en tuPATH
), ejecuta este comando:asmctl validate --with-testing-workloads
Si se ejecuta de forma correcta, el comando responde con un resultado similar al siguiente:
[asmctl version 0.3.0] Using Kubernetes context: example-project_us-central1-example-cluster To change the context, use the --context flag Validating enabled APIs OK Validating ingressgateway configuration OK Validating istio system OK Validating sample traffic Launching example services... Sent traffic to example service http code: 200 verified mTLS configuration OK Validating issued certs OK
Incorpora proxies de sidecar
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.
Antes de implementar las cargas de trabajo, asegúrate de configurar la incorporación del proxy de sidecar para que Anthos Service Mesh pueda supervisar y asegurar el tráfico.Puedes habilitar la incorporación automática del sidecar con un comando, por ejemplo:
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.
Para obtener más información, consulta Incorpora proxies de sidecar.
Visualiza los paneles de Anthos Service Mesh
Después de implementar las cargas de trabajo en el clúster con los proxies de sidecar incorporados, puedes explorar las páginas de Anthos Service Mesh en la consola de Google Cloud para ver todas las funciones de observabilidad que ofrece Anthos Service Mesh. Ten en cuenta que los datos de telemetría toman uno o dos minutos en aparecer en la consola de Google Cloud después de implementar las cargas de trabajo.
El acceso a Anthos Service Mesh en la consola de Google Cloud se controla mediante la Administración de identidades y accesos (IAM). Para acceder a las páginas de Anthos Service Mesh, el propietario del proyecto debe otorgar a los usuarios la función de editor o visualizador del proyecto, o los roles más restrictivas que se describen en Controla el acceso a Anthos Service Mesh en la consola de Google Cloud.
En la consola de Google Cloud, ve a Anthos Service Mesh.
Selecciona el proyecto de Google Cloud de la lista desplegable de la barra de menú.
Si tienes más de una malla de servicios, selecciona la malla en la lista desplegable Malla de servicios.
Para obtener más información, consulta Explora Anthos Service Mesh en la consola de Google Cloud.
Además de las páginas de Anthos Service Mesh, las métricas relacionadas con tus servicios (como la cantidad de solicitudes que recibe un servicio específico) se envían a Cloud Monitoring, donde aparecen en el Explorador de métricas.
Para ver las métricas, sigue estos pasos:
En la consola de Google Cloud, ve a la página Monitoring.
Selecciona Recursos > Explorador de métricas.
Para obtener una lista completa de las métricas, consulta Métricas de Istio en la documentación de Cloud Monitoring.