Configurar el proyecto y el clúster por tu cuenta
Cuando instalas Cloud Service Mesh con asmcli
, puede configurar tu proyecto y tu clúster si incluyes la marca --enable_all
o las marcas de habilitación más específicas.
Si prefieres hacer la configuración tú mismo en lugar de que asmcli
haga los cambios, sigue los pasos que se indican en esta página.
Si ya tienes instalada una versión anterior de Cloud Service Mesh, no es necesario que hagas ningún cambio en tu proyecto o clúster antes de usar asmcli
para actualizar a la versión más reciente de Cloud Service Mesh.
De forma predeterminada, asmcli
no instala istio-ingressgateway
. Te recomendamos que implementes y gestiones el plano de control y las pasarelas por separado.
Cloud Service Mesh admite la inyección automática en las implementaciones de gateway, lo que facilita las actualizaciones de Cloud Service Mesh. Después de actualizar Cloud Service Mesh, reinicia las
puertas de enlace igual que tus servicios para aplicar la nueva configuración del plano de control.
Para obtener más información, consulta el artículo sobre cómo instalar y actualizar gateways.
Antes de empezar
- Revisa los requisitos previos y los requisitos (externos Google Cloud, GKE).
- Planificar la instalación (externa Google Cloud, GKE) o la actualización
- Instalar las herramientas necesarias (fuera Google Cloud, GKE)
Configurar el proyecto
Obtén el ID 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 de control de la consola de Google Cloud .
Haz clic en la lista desplegable situada en la parte superior de la página. En la ventana Seleccionar de que aparece, selecciona tu proyecto.
El ID del proyecto se muestra en la tarjeta Información del proyecto del panel de control del proyecto.
Crea una variable de entorno para el grupo de cargas de trabajo con el ID de proyecto:
export WORKLOAD_POOL=PROJECT_ID.svc.id.goog
Asigna los roles de Gestión de Identidades y Accesos (IAM) necesarios. Si eres propietario del proyecto, tienes todos los permisos necesarios para completar la instalación. Si no eres propietario de un proyecto, necesitas que alguien que lo sea te conceda los siguientes roles de gestión de identidades y accesos específicos. En el siguiente comando, sustituye
PROJECT_ID
por el ID del proyecto del paso anterior yGCP_EMAIL_ADDRESS
por la cuenta que usas para iniciar sesión en 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
al ejecutarasmcli
, se definen los roles de gestión de identidades y accesos necesarios.Habilita las APIs de Google necesarias:
gcloud services enable \ --project=PROJECT_ID \ mesh.googleapis.com
Además de
mesh.googleapis.com
, este comando también habilita las siguientes APIs:API Finalidad Se puede inhabilitar meshconfig.googleapis.com
Cloud Service Mesh usa la API Mesh Configuration para reenviar datos de configuración de tu malla a Google Cloud. Además, si habilitas la API Mesh Configuration, podrás acceder a las páginas de Cloud Service Mesh en la Google Cloud consola y usar la autoridad de certificación de Cloud Service Mesh. No meshca.googleapis.com
Relacionado con la autoridad de certificación de Cloud Service Mesh que usa Cloud Service Mesh gestionado. No container.googleapis.com
Obligatorio para crear clústeres de Google Kubernetes Engine (GKE). No gkehub.googleapis.com
Se requiere para gestionar la malla como una flota. No monitoring.googleapis.com
Obligatorio para recoger telemetría de cargas de trabajo de malla. No stackdriver.googleapis.com
Es necesario para usar la interfaz de usuario de los Servicios. No opsconfigmonitoring.googleapis.com
Es necesario para usar la interfaz de usuario de Servicios en clústeresGoogle Cloud . No connectgateway.googleapis.com
Es necesario para que el plano de control de Cloud Service Mesh gestionado pueda acceder a las cargas de trabajo de la malla. Sí* trafficdirector.googleapis.com
Habilita un plano de control gestionado de alta disponibilidad y escalable. Sí* networkservices.googleapis.com
Habilita un plano de control gestionado de alta disponibilidad y escalable. Sí* networksecurity.googleapis.com
Habilita un plano de control gestionado de alta disponibilidad y escalable. Sí* Habilitar las APIs puede tardar un minuto o más en completarse. Cuando las APIs estén habilitadas, verás un resultado similar al siguiente:
Operation "operations/acf.601db672-88e6-4f98-8ceb-aa3b5725533c" finished successfully.
Si incluyes la marca
--enable_all
o--enable_apis
al ejecutarasmcli
, se habilitarán las APIs necesarias.
Configurar un clúster
Si incluye la marca --enable_all
o una de las marcas de habilitación más granulares,
asmcli
configura el clúster por usted.
Inicializa tu proyecto para prepararlo para la instalación. Entre otras cosas, este comando crea una cuenta de servicio para que los componentes del plano de datos, como el proxy sidecar, puedan acceder de forma segura a los datos y recursos de tu proyecto. En el siguiente comando, sustituye
FLEET_PROJECT_ID
por el proyecto host de la flota:curl --request POST \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Content-Type: application/json" \ --data '{"workloadIdentityPools":["FLEET_PROJECT_ID.hub.id.goog","FLEET_PROJECT_ID.svc.id.goog","PROJECT_ID.svc.id.goog"]}' \ "https://meshconfig.googleapis.com/v1alpha1/projects/PROJECT_ID:initialize"
El comando responde con llaves vacías:
{}
En el caso de los clústeres de GKE on Google Cloud , define la zona o la región predeterminadas de la CLI de Google Cloud. Si no defines 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, define la zona predeterminada:
gcloud config set compute/zone CLUSTER_LOCATION
Si tienes un clúster regional, define la región predeterminada:
gcloud config set compute/region CLUSTER_LOCATION
En los clústeres de GKE on Google Cloud , habilita Workload Identity:
gcloud container clusters update CLUSTER_NAME \ --project=PROJECT_ID \ --workload-pool=${WORKLOAD_POOL}
Habilitar Workload Identity puede tardar entre 10 y 15 minutos.
En los clústeres de GKE on Google Cloud , habilita Cloud Monitoring y Cloud Logging en GKE:
gcloud container clusters update CLUSTER_NAME \ --project=PROJECT_ID \ --enable-stackdriver-kubernetes
Tu proyecto y tu clúster ya están listos para una nueva instalación con asmcli
.
Siguientes pasos
- Instalar herramientas dependientes y validar el clúster fuera de Google Cloud
- Instalar herramientas dependientes y validar el clúster en GKE