Anthos Service Mesh 1.6

Instala Anthos Service Mesh en un clúster nuevo mediante la CLI de Anthos

En esta guía, se explica cómo instalar Anthos Service Mesh 1.6.8-asm.0 en un clúster de Anthos GKE nuevo mediante la interfaz de línea de comandos (CLI) de Anthos en Google Cloud. La CLI de Anthos proporciona una manera sencilla y declarativa de configurar tu proyecto de Google Cloud, de crear un clúster de Anthos GKE nuevo que cumpla con todos los requisitos, y de instalar Anthos Service Mesh en el clúster.

Por el momento, la CLI de Anthos solo admite instalaciones en Anthos GKE en Google Cloud.

La instalación habilita las siguientes características:

En esta guía, también se explica cómo registrar tu clúster en el Environ del proyecto. Un Environ te permite organizar clústeres para facilitar la administración de varios clústeres. Mediante el registro de tus clústeres en un Environ, 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:

Requisitos

  • Debes tener una suscripción a Anthos. Como alternativa, la opción de facturación prepaga está disponible solo para Anthos en Google Cloud. Para obtener más información, consulta la Guía de precios de Anthos.

  • 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, consulta Asigna nombres a puertos 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

Prepara los archivos de configuración de recursos

  1. Crea un directorio para los archivos de configuración del recurso del paquete asm. Recomendamos que uses el nombre del clúster como el nombre del directorio.

  2. Cambia al directorio en el que deseas descargar el paquete asm.

  3. Descarga el paquete asm en el directorio de trabajo actual:

    kpt pkg get \
    https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.6-asm .
    
  4. Configura el ID del proyecto:

    kpt cfg set asm gcloud.core.project PROJECT_ID
  5. Configura el nombre del clúster:

    kpt cfg set asm gcloud.container.cluster CLUSTER_NAME
  6. Configura la zona o región:

    kpt cfg set asm gcloud.compute.location CLUSTER_LOCATION

    De forma predeterminada, los métodos set de kpt usan el proyecto y la zona o región del clúster que se configuran en gcloud config.

  7. De forma opcional, puedes verificar los archivos de configuración de recursos en tu propio sistema de control de origen, como Cloud Source Repositories, para poder realizar un seguimiento de los cambios en los archivos.

Configura valores opcionales

Con la CLI de Anthos, también puedes establecer otros valores. Para ver una lista de los métodos set de kpt disponibles, ejecuta este comando:

kpt cfg list-setters asm/

El resultado es similar al siguiente:

          NAME                            VALUE                SET BY   DESCRIPTION   COUNT
anthos.servicemesh.hub                    your_anthos_hub                               1
anthos.servicemesh.tag                    your_anthos_tag                               1
gcloud.compute.location                   your_zone_or_region                           8
gcloud.compute.network                    default                                       1
gcloud.compute.subnetwork                 default                                       1
gcloud.container.cluster                  your_cluster_name                             9
gcloud.container.cluster.releaseChannel   REGULAR                                       1
gcloud.container.nodepool.max-nodes       4                                             1
gcloud.core.project                       your_project_ID      kpt                     21
gcloud.project.projectNumber              your_project_number  kpt                      4 

De forma predeterminada, el canal de versiones se configura como REGULAR. Para obtener una descripción de cada canal, consulta Qué canales están disponibles. Te recomendamos que te inscribas en el canal de versiones regular, ya que otros se podrían basar en una versión de GKE que no es compatible con Anthos Service Mesh 1.6.8. Para obtener más información, consulta Entornos compatibles.

Cambia el tipo de máquina o la cantidad de nodos

La CLI de Anthos crea un clúster nuevo con la cantidad necesaria de nodos y el tipo de máquina mínimo que requiere Anthos Service Mesh. Estos valores se especifican en nodepool.yaml. Puedes modificar tu copia local de nodepool.yaml para especificar otro tipo de máquina, siempre que tenga al menos 4 CPU virtuales.

Puedes aumentar la cantidad de nodos según sea necesario para los requisitos del sistema con el siguiente método set:

kpt cfg set asm gcloud.container.nodepool.max-nodes NUMBER_OF_NODES

Instala Anthos Service Mesh en un clúster nuevo

La CLI de Anthos habilita las siguientes opciones en el clúster, que son necesarias para Anthos Service Mesh:

  • Agrega una etiqueta mesh_id al clúster en el formato proj-PROJECT_NUMBER, en el que PROJECT_NUMBER es el número de proyecto en el que se creará el clúster. La etiqueta mesh_id es obligatoria para que las métricas se muestren en el panel de Anthos Service Mesh en Cloud Console. Si el clúster tiene etiquetas existentes, la CLI de Anthos las conserva.

  • Habilita Workload Identity.

  • Habilita Kubernetes Engine Monitoring.

  • Inscribe el clúster en una descripción general del canal de versiones.

Ejecuta el siguiente comando a fin de crear un clúster nuevo e instalar Anthos Service Mesh mediante los archivos de configuración que personalizaste antes:

gcloud beta anthos apply asm

Verifica los componentes del plano de control

Verifica que los pods del plano de control en istio-system estén activos:

kubectl get pod -n istio-system

El resultado esperado es similar al siguiente:

NAME                                      READY   STATUS      RESTARTS   AGE
istio-ingressgateway-74cc894bfd-786rg     1/1     Running     0          7m19s
istiod-78cdbbbdb-d7tps                    1/1     Running     0          7m36s
promsd-576b8db4d6-lqf64                   2/2     Running     1          7m19s

Aplica los cambios de configuración que se especifican en ISTIO-SECURITY-2020-007 para evitar ataques de denegación del servicio (DoS) en tu malla.

Registra tu clúster

Debes registrar tu clúster con el Environ del proyecto para obtener acceso a la interfaz de usuario unificada en Cloud Console. Un Environ proporciona una forma unificada de ver y administrar los clústeres y sus cargas de trabajo, incluidos los clústeres fuera de Google Cloud.

Para obtener información sobre cómo registrar tu clúster, consulta Registra clústeres en Environ.

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.

Todas las cargas de trabajo que se ejecutan en tu clúster antes de instalar Anthos Service Mesh deben tener el proxy de sidecar incorporado o actualizado para que tengan la versión actual de Anthos Service Mesh. Antes de implementar las cargas de trabajo nuevas, 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 las páginas 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 Cloud Console 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 Cloud Console después de implementar las cargas de trabajo.

El acceso a Anthos Service Mesh en Cloud Console 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 las funciones más restrictivas que se describen en Controla el acceso a Anthos Service Mesh en Cloud Console.

  1. En Google Cloud Console, ve a Anthos Service Mesh.

    Ir a Anthos Service Mesh

  2. Selecciona el proyecto de Cloud en la lista desplegable de la barra de menú.

  3. 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 Cloud Console.

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:

  1. En Google Cloud Console, ve a la página Monitoring.

    Ir a Monitoring

  2. 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.

Próximos pasos