Controles del servicio de VPC para Managed Anthos Service Mesh

Managed Anthos Service Mesh admite una vista previa de los Controles del servicio de VPC (VPC-SC) en todos los canales de Anthos Service Mesh para los clústeres de GKE con una versión igual o superior a 1.22.1-gke.100.

Antes de comenzar

La política de la organización y el perímetro de servicio de VPC-SC se configuran a nivel de la organización. Asegúrate de que se te hayan otorgado los roles adecuados para administrar VPC-SC.

Configura la política de la organización

  1. Los administradores de la organización deben configurar la política de la organización como se describe en esta sección; de lo contrario, no se aplicará VPC-SC. Edita la política de la organización para tu organización o para los proyectos individuales y establece la restricción “Allowed VPC-SC mode for ASM Managed Control Planes” en “COMPATIBLE”. Usa Console o el siguiente comando de gcloud:

    gcloud resource-manager org-policies allow \
      meshconfig.allowedVpcscModes COMPATIBLE \
      --project=PROJECT_ID

    Aquí:

    • PROJECT_ID es el ID del proyecto que deseas actualizar.

    o

    gcloud resource-manager org-policies allow \
      meshconfig.allowedVpcscModes COMPATIBLE \
      --organization=ORGANIZATION_ID

    Aquí:

    • ORGANIZATION_ID es el ID de la organización que deseas actualizar.

Configura el perímetro de servicio de VPC-SC

Crea o actualiza tu perímetro de servicio:

  1. Agrega tu proyecto al perímetro de servicio. Si tienes varios proyectos, puedes incluir cada uno en el perímetro de servicio.

  2. Agrega servicios restringidos al perímetro de servicio.

    Debes agregar servicios específicos a las listas de servicios permitidos y restringidos en el perímetro de servicio, de modo que el clúster de Anthos Service Mesh pueda acceder a ellos. El acceso a los servicios también está restringido dentro de la red de la nube privada virtual (VPC) de tu clúster.

    Si no se agregan estos servicios, es posible que la instalación de Anthos Service Mesh falle o no funcione de forma adecuada. Por ejemplo, si no agregas la API de configuración de malla al perímetro de servicio, la instalación fallará y las cargas de trabajo no recibirán su configuración de Envoy desde el plano de control administrado.

    Console

    1. Sigue los pasos de la sección sobre cómo actualizar un perímetro de servicio para editar el perímetro.
    2. Haz clic en la página Editar perímetro de servicio de VPC.
    3. En Servicios restringidos, Servicios que se protegerán, haz clic en Agregar servicios.
    4. En el cuadro de diálogo Especificar los servicios que deseas restringir, haz clic en Filtrar servicios y, luego, ingresa la API de configuración de malla.
    5. Selecciona la casilla de verificación del servicio.
    6. Haz clic en Agregar API de configuración de malla.
    7. Repite los pasos del 3 al 6 para agregar la API de la autoridad certificadora de Cloud Service Mesh, la API de GKE Hub, la API de Cloud IAM, la API de Stackdriver Logging, la API de Cloud Trace, la API de Cloud Monitoring, la API de Google Cloud Resource Manager, la API de Cloud Run, la API de Google Compute Engine, la API de Google Container Registry, la API de Artifact Registry y la API de Google Cloud Storage.
    8. Haz clic en Guardar.

    gcloud

    Para actualizar la lista de servicios restringidos, usa el comando update y especifica los servicios que deseas agregar como una lista delimitada por comas:

    gcloud access-context-manager perimeters update PERIMETER_NAME \
      --add-restricted-services=meshconfig.googleapis.com,meshca.googleapis.com,gkehub.googleapis.com,iam.googleapis.com,monitoring.googleapis.com,cloudtrace.googleapis.com,monitoring.googleapis.com,cloudresourcemanager.googleapis.com,run.googleapis.com,compute.googleapis.com,containerregistry.googleapis.com,artifactregistry.googleapis.com,storage.googleapis.com \
      --policy=POLICY_NAME

    Donde:

    • PERIMETER_NAME es el nombre del perímetro de servicio que deseas actualizar.

    • POLICY_NAME es el nombre numérico de la política de acceso de tu organización. Por ejemplo, 330193482019

  3. Haz clic en Servicios de VPC accesibles y establécelos como "Todos los servicios restringidos" para que aún se pueda acceder a los servicios restringidos en el paso anterior desde el perímetro de VPC-SC.

  4. Agrega una regla de entrada para permitir que la identidad que ejecuta el comando asmcli acceda al perímetro de servicio.

    Para obtener más información, consulta Actualiza un perímetro de servicio.

Instala el ASM administrado en un perímetro de VPC-SC

Esta sección no requiere privilegios de administrador de la organización, pero requiere el cumplimiento de la política de VPC-SC: debes usar la marca adicional --use-vpcsc durante la instalación; de lo contrario, la instalación no pasará los controles de seguridad.

Sigue los pasos de la página Configura Anthos Service Mesh. Verifica que el plano de control se haya aprovisionado de forma correcta y que no haya errores relacionados con VPC-SC.

Soluciona problemas

No se puede crear un clúster con la última imagen de GKE 1.22

Existe un problema conocido que impide la creación de un clúster con la última imagen 1.22 en un entorno restringido de VPC-SC. La solución alternativa es crear este clúster primero con la imagen del canal de GKE predeterminada y, luego, actualizar la imagen:

gcloud container clusters create CLUSTER \
  --region REGION \
  --release-channel=rapid \
  --workload-pool=PROJECT_ID.svc.id.goog \
  --project PROJECT_ID
gcloud container clusters upgrade CLUSTER \
  --region REGION \
  --master --cluster-version 1.22 \
  --project PROJECT_ID

Los contenedores no pueden descargar sus imágenes.

Esto puede suceder si las imágenes están ubicadas fuera del perímetro de servicio. Mueve las imágenes a un bucket ubicado dentro del perímetro o actualiza el perímetro para agregar una regla de salida. Por lo general, la regla de salida puede permitir que las identidades seleccionadas accedan a lasAPI de Container Registry, API de Artifact Registry y API de Cloud Storage.

El campo Estado de la CRD de ControlPlaneRevision muestra errores de VPC-SC

Esto puede ocurrir si no usaste la marca "--use-vpcsc" durante la instalación, en cuyo caso es seguro volver a ejecutarla.

De lo contrario, ejecuta este comando para obtener más información sobre el error:

gcloud logging read --project=PROJECT_ID \
'protoPayload.metadata.@type=type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata'

Aquí:

  • PROJECT_ID es el ID del proyecto que tiene errores.