Controles de Servicio de VPC para Cloud Service Mesh (gestionado)
Google Cloud Para obtener más información, consulta la descripción general de Cloud Service Mesh.Cloud Service Mesh (gestionado) admite Controles de Servicio de VPC como función disponible para el público general en los nuevos planos de control.
Para comprobar si tu plano de control admite la disponibilidad general de Controles de Servicio de VPC, consulta el estado de la función de malla de tu suscripción en la condición VPCSC_GA_SUPPORTED.
gcloud container fleet mesh describe --project FLEET_PROJECT_ID
La salida es similar a la 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/v1.24/docs/managed/VPC Service Controls severity: INFO (...)
Si tienes un plano de control que no informa de la condición VPCSC_GA_SUPPORTED y quieres usar Controles de Servicio de VPC, ponte en contacto con el equipo de Asistencia.
Antes de empezar
La política de organización y el perímetro de servicio de Controles de Servicio de VPC se configuran a nivel de organización. Asegúrate de que se te han asignado los roles adecuados para gestionar Controles de Servicio de VPC.
Configurar tu perímetro de servicio de Controles de Servicio de VPC
Crea o actualiza tu perímetro de servicio:
Añade tus proyectos de clúster y tu proyecto de flota al perímetro de servicio. No se admite que una malla de servicios se extienda por varios perímetros de Controles de Servicio de VPC.
Añade servicios restringidos al perímetro de servicio.
Debes añadir servicios específicos a las listas de servicios permitidos y restringidos del perímetro de servicio para que tu clúster de Cloud Service Mesh pueda acceder a ellos. El acceso a estos servicios también está restringido en la red de nube privada virtual (VPC) de tu clúster.
Si no añade estos servicios, es posible que la instalación de Cloud Service Mesh falle o que no funcione correctamente. Por ejemplo, si no añades la API Mesh Configuration al perímetro de servicio, la instalación fallará y las cargas de trabajo no recibirán su configuración de Envoy del plano de control gestionado.
Consola
- Sigue los pasos que se indican en el artículo sobre cómo actualizar un perímetro de servicio para editar el perímetro.
- Haz clic en la página Editar perímetro de servicio de VPC.
- En Servicios restringidos, Servicios que proteger, haz clic en Añadir servicios.
- En el cuadro de diálogo Specify services to restrict (Especificar servicios que se van a restringir), haga clic en Filter services (Filtrar servicios) e introduzca Mesh Configuration API (API de configuración de malla).
- Selecciona la casilla del servicio.
- Haz clic en Add Mesh Configuration API (Añadir API de configuración de malla).
- Repite los pasos del c al f para añadir lo siguiente:
- API de autoridad de certificación de Cloud Service Mesh
- API de GKE Hub
- API de Cloud IAM
- API de Cloud Monitoring
- API de Cloud Trace
- API de Cloud Monitoring
- API Cloud Resource Manager de Google
- API de Google Compute Engine
- API de Google Container Registry
- API Artifact Registry
- API de Google Cloud Storage
- API de Cloud Logging
- API Security Token Service
- Haz clic en Guardar.
gcloud
Para actualizar la lista de servicios restringidos, usa el comando
update
y especifica los servicios que quieras añadir 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 quieres actualizar.
POLICY_NAME es el nombre numérico de la política de acceso de tu organización. Por ejemplo,
330193482019
.
Haz clic en Servicios accesibles de VPC y selecciona "Todos los servicios restringidos" para que los servicios restringidos en el paso anterior sigan siendo accesibles desde el perímetro de Controles de Servicio de VPC.
A menos que instales Cloud Service Mesh desde una red perimetral, añade 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 Actualizar un perímetro de servicio.
Instalar Cloud Service Mesh gestionado en un perímetro de Controles de Servicio de VPC
Sigue los pasos que se indican en la página Configurar Cloud Service Mesh gestionado. A continuación, verifica que el plano de control se haya aprovisionado correctamente y que no haya errores relacionados con Controles de Servicio de VPC.
Solución de problemas
No se puede crear un clúster con la imagen de GKE 1.22 más reciente
Hay un problema conocido que impide crear un clúster con la imagen 1.22 más reciente en un entorno restringido por Controles de Servicio de VPC. La solución alternativa consiste en crear primero este clúster con la imagen del canal predeterminado de GKE y, a continuación, 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 ocurrir si las imágenes se encuentran fuera del perímetro de servicio. Mueve las imágenes a un contenedor situado dentro del perímetro o actualiza el perímetro para añadir una regla de salida. Normalmente, la regla de salida puede permitir que determinadas identidades accedan a la API de Container Registry, la API de Artifact Registry y la API de Cloud Storage.
El campo "Estado" del CRD ControlPlaneRevision
muestra los errores de Controles de 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'
Donde:
- PROJECT_ID es el ID del proyecto que presenta errores.