En esta página, se explican los requisitos de instalación de Anthos Service Mesh, y la configuración de tu proyecto de Cloud y clústeres de Google Kubernetes Engine (GKE) para una malla que contiene clústeres que están en el mismo proyecto. Cuando usas la secuencia de comandos proporcionada por Google, install_asm
, la secuencia de comandos puede configurar tu proyecto y tu clúster si incluyes la marca --enable_all
o las marcas de habilitación más detalladas.
Si prefieres realizar la configuración tú mismo en lugar de que install_asm
haga los cambios, sigue los pasos de esta página. Si ya tienes instalada una versión anterior de Anthos Service Mesh, no es necesario que realices ningún cambio en tu proyecto o clúster antes de usar install_asm
para actualizar a la versión más reciente de Anthos Service Mesh.
Antes de comenzar
- Revisa las diferencias de Anthos y Anthos Service Mesh
- Revisa los requisitos
- Selecciona una autoridad certificada (CA)
- Registra tu clúster
- Instala las herramientas necesarias
Configura el proyecto
Obtén el ID y el número del proyecto en el que se creó el clúster.
gcloud
Ejecuta el siguiente comando:
gcloud projects list
Consola
Ve a la página Panel en la consola de Google Cloud.
Haz clic en la lista desplegable en la parte superior de la página. En la ventana Seleccionar desde que aparece, elige tu proyecto.
El ID y el número del proyecto se muestran en la tarjeta de Información del proyecto del panel del proyecto:
Crea las siguientes variables de entorno:
Configura el grupo de cargas de trabajo con el ID del proyecto:
export WORKLOAD_POOL=PROJECT_ID.svc.id.goog
Configura el ID de malla con el número del proyecto:
export MESH_ID="proj-PROJECT_NUMBER"
Configura las funciones de administración de identidades y accesos (IAM) requeridas. Si eres el propietario del proyecto, tienes todos los permisos necesarios para completar la instalación. Si no eres un propietario del proyecto, necesitas que alguien te otorgue las siguientes funciones específicas de IAM. En el siguiente comando, reemplaza
PROJECT_ID
por el ID del proyecto del paso anterior yGCP_EMAIL_ADDRESS
por la cuenta que usas para acceder a Google Cloud.ROLES=( 'roles/servicemanagement.admin' \ 'roles/serviceusage.serviceUsageAdmin' \ 'roles/meshconfig.admin' \ 'roles/compute.admin' \ 'roles/container.admin' \ 'roles/resourcemanager.projectIamAdmin' \ 'roles/iam.serviceAccountAdmin' \ 'roles/iam.serviceAccountKeyAdmin' \ 'roles/gkehub.admin') for role in "${ROLES[@]}" do gcloud projects add-iam-policy-binding PROJECT_ID \ --member "user:GCP_EMAIL_ADDRESS" \ --role="$role" done
Si incluyes la marca
--enable_all
o--enable_gcp_iam_roles
cuando ejecutasinstall_asm
, se configuran las funciones de IAM necesarias.Habilita las siguientes API de Google:
gcloud services enable \ --project=PROJECT_ID \ 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 \ gkeconnect.googleapis.com \ gkehub.googleapis.com \ cloudresourcemanager.googleapis.com \ stackdriver.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.
Si incluyes la marca
--enable_all
o--enable_apis
cuando ejecutasinstall_asm
, se habilitarán las API necesarias.
Configura el clúster
Si incluyes la marca --enable_all
o una de las marcas de habilitación más detalladas, la secuencia de comandos install_asm
configura tu clúster por ti.
Establece la zona o región predeterminada para Google Cloud CLI. Si no estableces el valor predeterminado aquí, asegúrate de especificar la opción
--zone
o--region
en los comandosgcloud container clusters
de esta página.Si tienes un clúster de una sola zona, configura la predeterminada:
gcloud config set compute/zone CLUSTER_LOCATION
Si tienes un clúster regional, configura la región predeterminada:
gcloud config set compute/region CLUSTER_LOCATION
Configura la etiqueta
mesh_id
en el clúster. Si el clúster tiene etiquetas existentes que deseas conservar, debes incluirlas cuando agregues la etiqueta demesh_id
.Para ver si el clúster tiene etiquetas existentes, haz lo siguiente:
gcloud container clusters describe CLUSTER_NAME \ --project PROJECT_ID
Busca el campo
resourceLabels
en el resultado. Cada etiqueta se almacena en una línea separada en el camporesourceLabels
, por ejemplo:resourceLabels: csm: '' env: dev release: stable
Para mayor comodidad, puedes agregar las etiquetas a una variable de entorno. A continuación, reemplaza
YOUR_EXISTING_LABELS
por una lista separada por comas de las etiquetas existentes en el clúster con el formatoKEY=VALUE
, por ejemploenv=dev,release=stable
:export EXISTING_LABELS="YOUR_EXISTING_LABELS"
Establece la etiqueta
mesh_id
:Si el clúster tiene etiquetas existentes que deseas conservar, actualiza el clúster con el
mesh_id
y las etiquetas existentes:gcloud container clusters update CLUSTER_NAME \ --project PROJECT_ID \ --update-labels=mesh_id=${MESH_ID},${EXISTING_LABELS}
Si el clúster no tiene ninguna etiqueta existente, actualízalo solo con la etiqueta
mesh_id
:gcloud container clusters update CLUSTER_NAME \ --project=PROJECT_ID \ --update-labels=mesh_id=${MESH_ID}
Habilita Workload Identity:
gcloud container clusters update CLUSTER_NAME \ --project=PROJECT_ID \ --workload-pool=${WORKLOAD_POOL}
La habilitación de Workload Identity puede tardar de 10 a 15 minutos.
Inicializa tu proyecto a fin de prepararlo para la instalación. Entre otras cosas, con este comando puedes crear una cuenta de servicio para permitir que los componentes del plano de datos, como el proxy de sidecar, accedan a los datos y recursos de tu 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:
{}
.Habilita Cloud Monitoring y Cloud Logging en GKE:
gcloud container clusters update CLUSTER_NAME \ --project=PROJECT_ID \ --logging=SYSTEM,WORKLOAD \ --monitoring=SYSTEM
El proyecto y el clúster de GKE ahora están listos para una instalación o migración nueva desde Istio con install_asm
. Cuando instalas Anthos Service Mesh con install_asm
, la secuencia de comandos:
- Valida el proyecto y el clúster.
- Crea una cuenta de servicio en el proyecto para permitir que los componentes del plano de control accedan a los datos y recursos del proyecto.
- Configura los archivos de recursos personalizados (CR)
IstioOperator
necesarios con la información del proyecto y el clúster para habilitar las funciones predeterminadas. - Llamadas
istioctl install
. Puedes especificar archivos de CR adicionalesIstioOperator
cuando llamas ainstall_asm
para habilitar funciones opcionales.
¿Qué sigue?
- Para ver instalaciones nuevas, consulta Instala Anthos Service Mesh.
- Para migrar de Istio a Anthos Service Mesh, consulta Migra desde Istio