Controles del servicio de VPC para Cloud Service Mesh (administrado)

Cloud Service Mesh (administrado) admite los Controles del servicio de VPC como una función disponible de forma general (GA) para planos de control nuevos.

Para verificar si tu plano de control admite la versión general de los Controles del servicio de VPC, verifica el estado de la función de malla de tu membresía en busca de la condición VPCSC_GA_SUPPORTED.

gcloud container fleet mesh describe --project FLEET_PROJECT_ID

El resultado es similar al siguiente:

(...)
membershipStates:
  projects/FLEET_PROJECT_NUMBER/locations/MEMBERSHIP_LOCATION/memberships/MEMBERSHIP_ID:
    servicemesh:
      conditions:
      - code: VPCSC_GA_SUPPORTED
        details: This control plane supports VPC Service Controls GA.
        documentationLink: http://cloud.google.com/service-mesh/docs/managed/VPC Service Controls
        severity: INFO
(...)

Si tienes un plano de control existente que no informa la condición VPCSC_GA_SUPPORTED y deseas usar los Controles del servicio de VPC, comunícate con el equipo de asistencia.

Antes de comenzar

La política de la organización y el perímetro de servicio de los Controles del servicio de VPC se configuran a nivel de la organización. Asegúrate de que se te hayan otorgado las funciones adecuadas para administrar los Controles del servicio de VPC.

Configura el perímetro de servicio de los Controles del servicio de VPC

Crea o actualiza tu perímetro de servicio:

  1. Agrega los proyectos de clúster y los proyectos de flota al perímetro de servicio. No se admite tener una malla de servicios distribuida en varios perímetros de Controles del servicio de VPC.

  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 Cloud 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 Cloud 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 “c” al “f” para agregar lo siguiente:
      • API de la autoridad certificadora de la malla de servicios de Cloud
      • API de GKE Hub
      • API de Cloud IAM
      • Cloud Monitoring API
      • Cloud Trace API
      • Cloud Monitoring API
      • API de Google Cloud Resource Manager
      • API de Google Compute Engine
      • API de Google Container Registry
      • API de Artifact Registry
      • API de Google Cloud Storage
      • API de Cloud Logging
      • API del servicio de token de seguridad
    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,compute.googleapis.com,containerregistry.googleapis.com,artifactregistry.googleapis.com,storage.googleapis.com,logging.googleapis.com,sts.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 accesibles de VPC 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 Controles del servicio de VPC.

  4. A menos que instales Cloud Service Mesh desde una red dentro del perímetro, agrega una regla de entrada para permitir que la identidad que ejecuta el comando de asmcli acceda al perímetro de servicio.

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

Instala Cloud Service Mesh administrado en un perímetro de Controles del servicio de VPC

Sigue los pasos de la página Configura Cloud Service Mesh administrado. Luego, verifica que el plano de control se haya aprovisionado de forma correcta y que no haya errores relacionados con los Controles del servicio de VPC.

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 Controles del servicio de VPC. 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 los Controles del servicio de VPC

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.