En esta guía, se explica cómo instalar, migrar o actualizar a la versión 1.8.6 de Anthos Service Mesh para una malla que contiene uno o más clústeres de GKE que se encuentran en el mismo proyecto. Debes usar una secuencia de comandos proporcionada por Google, que configura tu proyecto y tu clúster, y, luego, instala Anthos Service Mesh con istioctl install
.
Puedes usar esta guía y la secuencia de comandos para los siguientes casos de uso de integración:
Actualizaciones a partir de Anthos Service Mesh 1.7.3+ or a 1.8 patch release. No se admiten las actualizaciones a versiones anteriores.
Migra de Istio de código abierto 1.7 or 1.8 a Anthos Service Mesh. No se admite la migración desde una versión anterior de Istio. Asegúrate de revisar la sección sobre cómo repararse para migrar desde Istio y planificar tu migración.
Requisitos previos
En esta guía, suponemos que ya tienes lo siguiente:
- Un proyecto de Google Cloud
- Una cuenta de facturación de Cloud
- Un clúster de GKE que cumple con los requisitos.
Diferencias entre Anthos Service Mesh y Anthos
Si eres suscriptor de GKE Enterprise, asegúrate de habilitar la API de GKE Enterprise.
Si no eres suscriptor de GKE Enterprise, aún puedes instalar Anthos Service Mesh, pero ciertos elementos y funciones de la IU en la consola de Google Cloud solo están disponibles para los suscriptores de GKE Enterprise. Si deseas obtener información sobre lo que está disponible para suscriptores y no suscriptores, consulta Diferencias entre la IU de GKE Enterprise y Anthos Service Mesh. Si quieres obtener información sobre los precios de Anthos Service Mesh para usuarios no suscritos, consulta Precios.
La secuencia de comandos habilita todas las otras API de Google requeridas para ti.
Requisitos
El clúster de GKE debe cumplir con los siguientes requisitos:
Un tipo de máquina que tenga, al menos, 4 CPU virtuales, como
e2-standard-4
. Si el tipo de máquina del clúster no tiene al menos 4 CPU virtuales, cámbialo como se describe en Migra cargas de trabajo a diferentes tipos de máquina.La cantidad mínima de nodos depende del tipo de máquina. Anthos Service Mesh requiere al menos 8 CPU virtuales. Si el tipo de máquina tiene 4 CPU virtuales, tu clúster debe tener al menos 2 nodos. Si el tipo de máquina tiene 8 CPU virtuales, el clúster solo necesita 1 nodo. Si necesitas agregar nodos, consulta Cambia el tamaño de un clúster.
De forma predeterminada, la secuencia de comandos habilita Workload Identity en tu clúster. Workload Identity es el método recomendado para llamar a las API de Google. Habilitar Workload Identity cambia la forma en que se protegen las llamadas de tus cargas de trabajo a las API de Google, como se describe en Limitaciones de Workload Identity.
Si vas a realizar una instalación nueva y planeas usar la autoridad certificadora de Anthos ServiceMesh (CA de Mesh), puedes usar el grupo de identidad de carga de trabajo de la flota como alternativa a las cargas de trabajo de GKE. Para usar la CA de malla con el grupo de identidad de la carga de trabajo de la flota (vista previa), debes seguir los pasos de Registra un clúster antes de ejecutar la secuencia de comandos o incluir la marca
--enable-registration
cuando ejecutes la secuencia de comandos para permitir que la secuencia de comandos registre el clúster en el proyecto en el que se encuentra el clúster. Para ver un ejemplo de ejecución de la secuencia de comandos, consulta Habilita la CA de Mesh con el grupo de identidad de la carga de identidad de la flota.Aunque es una acción opcional, se recomienda inscribir el clúster en un canal de versiones. 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.8.6. Para obtener más información, consulta Entornos compatibles. Sigue las instrucciones en Inscribe un clúster existente en un canal de versiones si tienes 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, consulta Asigna nombres a puertos de servicio.Si instalas Anthos Service Mesh en un clúster privado, debes abrir el puerto 15017 en el firewall para que el webhook se use con la incorporación automática de sidecar y funcione de manera correcta. Para obtener más información, consulta Abre un puerto en un clúster privado.
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.
Para las migraciones,
istiod
debe instalarse en el espacio de nombresistio-system
.Un proyecto de Google Cloud solo puede tener una malla asociada.
Elige una autoridad certificada
Para las instalaciones y migraciones nuevas, puedes usar la autoridad certificada de Anthos Service Mesh (CA de Mesh) o Citadel (ahora incorporada en istiod
) como autoridad certificada (CA) para emitir certificados de mutual TLS (mTLS).
Por lo general, recomendamos que uses CA de Mesh por los siguientes motivos:
- La CA de Mesh es un servicio altamente confiable y escalable que está optimizado para cargas de trabajo escaladas de forma dinámica en Google Cloud.
- Con la CA de Mesh, Google administra la seguridad y la disponibilidad del backend de CA.
- La CA de Mesh te permite tener una sola raíz de confianza entre clústeres.
Sin embargo, hay casos en los que podrías considerar usar Citadel, como los que se mencionan a continuación:
- Si tienes una CA personalizada.
Si realizas la migración desde Istio.
Si eliges Citadel, hay poco tiempo de inactividad porque el tráfico de mTLS no se interrumpe durante la migración. Si eliges CA de Mesh, debes programar el tiempo de inactividad para la migración, ya que la raíz de confianza cambia de Citadel a la CA de Mesh. Para completar la migración a la raíz de confianza de la CA de Mesh, debes reiniciar todos los Pods en todos los espacios de nombres. Durante este proceso, los Pods antiguos no pueden establecer conexiones mTLS con los Pods nuevos.
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
Registra tu clúster
Debes registrar tu clúster con la flota 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.
Puedes seguir los pasos en Registra un clúster o incluir la marca --enable-registration
cuando ejecutes la secuencia de comandos para permitir que la secuencia de comandos registre el clúster en el proyecto que el clúster está en uso.
Instala las herramientas necesarias
Puedes ejecutar la secuencia de comandos en Cloud Shell o en tu máquina local que ejecuta Linux. Cloud Shell instala previamente todas las herramientas necesarias. Ten en cuenta que macOS no es compatible porque viene con una versión anterior de Bash.
Cloud Shell
Cloud Shell aprovisiona una máquina virtual (VM) g1-small de Compute Engine que ejecuta un sistema operativo Linux basado en Debian. Las ventajas de usar Cloud Shell son las siguientes:
Cloud Shell incluye
gcloud
,kubectl
,kpt
y otras herramientas de línea de comandos que necesitas.El directorio $HOME de Cloud Shell tiene 5 GB de espacio de almacenamiento persistente.
Puedes elegir entre los editores de texto:
El editor de código, al que puedes acceder desde en la parte superior de la ventana de Cloud Shell
Emacs, Vim o Nano, a los que puedes acceder desde la línea de comandos en Cloud Shell.
Para usar Cloud Shell, sigue estos pasos:
- Ve a la consola de Google Cloud.
- Selecciona tu proyecto de Google Cloud.
Haz clic en el botón Activar Cloud Shell en la parte superior de la consola de Google Cloud.
Se abrirá una sesión de Cloud Shell en un marco nuevo en la parte inferior de la consola de Google Cloud, que mostrará una ventana de la línea de comandos.
Actualiza los componentes:
gcloud components update
El comando responderá con un resultado similar al siguiente:
ERROR: (gcloud.components.update) You cannot perform this action because the gcloud CLI component manager is disabled for this installation. You can run the following command to achieve the same result for this installation: sudo apt-get update && sudo apt-get --only-upgrade install ...
Copia el comando largo y pégalo para actualizar los componentes.
Computadora local de Linux
Asegúrate de tener instaladas las siguientes herramientas:
- La CLI de Google Cloud
- Las herramientas de línea de comandos estándar:
awk
,curl
,grep
,sed
,sha256sum
ytr
- git
- kpt
- kubectl
- jq
Autentica con la CLI de gcloud:
gcloud auth login
Actualiza los componentes:
gcloud components update
Asegúrate de que
git
esté en tu ruta para quekpt
pueda encontrarlo.
Descarga la secuencia de comandos
En esta sección, se describe cómo descargar la secuencia de comandos, configurar los parámetros necesarios y opcionales, y ejecutar la secuencia de comandos. Para obtener una explicación detallada de lo que hace la secuencia de comandos, consulta Información sobre la secuencia de comandos.
Descarga la versión de la secuencia de comandos que instala Anthos Service Mesh 1.8.6 en el directorio de trabajo actual:
curl https://storage.googleapis.com/csm-artifacts/asm/install_asm_1.8 > install_asm
Descarga el SHA-256 del archivo en el directorio de trabajo actual:
curl https://storage.googleapis.com/csm-artifacts/asm/install_asm_1.8.sha256 > install_asm.sha256
Con ambos archivos en el mismo directorio, verifica la descarga:
sha256sum -c --ignore-missing install_asm.sha256
Si la verificación se realiza de forma correcta, el comando genera este resultado:
install_asm: OK
.Para mayor compatibilidad, el archivo
install_asm.sha256
incluye la suma de verificación dos veces a fin de permitir que cualquier versión de la secuencia de comandos cambie su nombre ainstall_asm
. Si recibes un error que indica que--ignore-missing
no existe, vuelve a ejecutar el comando anterior sin la marca--ignore-missing
.Haz que la secuencia de comandos sea ejecutable:
chmod +x install_asm
¿Qué sigue?
- Instalaciones nuevas de Anthos Service Mesh
- Actualiza Anthos Service Mesh a la versión más reciente
- Migrar desde Istio
- Reinstalar la misma versión
- Referencia