Configura tu proyecto y tu clúster de GKE
Cuando instalas Anthos Service Mesh mediante asmcli
, puedes configurar el proyecto y el clúster de GKE en Google Cloud si incluyes la marca --enable_all
marca o las marcas de habilitación más detalladas.
Si prefieres realizar la configuración tú mismo en lugar de que asmcli
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 asmcli
para actualizar a la versión más reciente de Anthos Service Mesh.
De forma predeterminada, asmcli
no se instala istio-ingressgateway
. Te recomendamos que implementes y administres el plano de control y las puertas de enlace por separado.
Anthos Service Mesh admite la inserción automática para las implementaciones de puertas de enlace, lo que facilita las actualizaciones de Anthos Service Mesh. Después de actualizar Anthos Service Mesh, reinicia las puertas de enlace, al igual que tus servicios, para obtener la nueva configuración del plano de control.
Para obtener más información, consulta Instala y actualiza puertas de enlace.
Antes de comenzar
- Revisa todos los requisitos
- Planifica la instalación o la actualización.
- Instala las herramientas necesarias
Configura tu proyecto
Obtén el ID del proyecto en el que se creó el clúster.
gcloud
Ejecuta el siguiente comando:
gcloud projects list
Console
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 del proyecto se muestra en la tarjeta de Información del proyecto del panel del proyecto.
Crea una variable de entorno para el grupo de cargas de trabajo con el ID del proyecto:
export WORKLOAD_POOL=PROJECT_ID.svc.id.goog
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 ejecutasasmcli
, esta establece los roles de IAM necesarios por ti.Habilita las API 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 API:API Objetivo Se puede inhabilitar meshconfig.googleapis.com
Anthos Service Mesh usa la API de configuración de Mesh para retransmitir datos de configuración de la malla a Google Cloud. Además, habilitar la API de configuración de malla permite acceder a las páginas de Anthos Service Mesh en la consola de Google Cloud y usar la autoridad certificadora de Anthos Service Mesh (CA de Mesh). No. meshca.googleapis.com
Se relaciona con la autoridad certificadora de Anthos Service Mesh que usa Anthos Service Mesh administrado. No. container.googleapis.com
Es necesario para crear clústeres de Google Kubernetes Engine (GKE). No. gkehub.googleapis.com
Es obligatorio para administrar la malla como una flota. No. monitoring.googleapis.com
Se requiere para capturar la telemetría de las cargas de trabajo en malla. No. stackdriver.googleapis.com
Obligatorio para usar la IU de servicios. No. opsconfigmonitoring.googleapis.com
Es necesario usar la IU de servicios para clústeres fuera de Google Cloud. No. connectgateway.googleapis.com
Obligatorio para que el plano de control de Anthos Service Mesh administrado pueda acceder a las cargas de trabajo de la malla. Sí* trafficdirector.googleapis.com
Habilita un plano de control administrado escalable y con alta disponibilidad. Sí* networkservices.googleapis.com
Habilita un plano de control administrado escalable y con alta disponibilidad. Sí* networksecurity.googleapis.com
Habilita un plano de control administrado escalable y con alta disponibilidad. Sí* 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 las marcas
--enable_all
o--enable_apis
cuando ejecutasasmcli
, se habilitan las APIs necesarias.
Configura tu clúster
Si incluyes la marca --enable_all
o una de las marcas de habilitación más detalladas, la secuencia de comandos asmcli
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
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: En el siguiente comando, reemplaza
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:
{}
.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
.