Controlli di servizio VPC per Cloud Service Mesh (gestiti)

Cloud Service Mesh (gestiti) supporta i Controlli di servizio VPC come funzionalità in disponibilità generale (GA) per i nuovi piani di controllo.

Per verificare se il tuo piano di controllo supporta la versione generale di Controlli di servizio VPC, controlla lo stato della funzionalità mesh del tuo abbonamento per la condizione VPCSC_GA_SUPPORTED.

gcloud container fleet mesh describe --project FLEET_PROJECT_ID

L'output è simile al seguente:

(...)
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
(...)

Se hai già un control plane che non segnala la condizione VPCSC_GA_SUPPORTED e vuoi utilizzare Controlli di servizio VPC, contatta l'assistenza.

Prima di iniziare

Il perimetro di servizio e il criterio dell'organizzazione dei Controlli di servizio VPC sono configurati a livello di organizzazione. Assicurati di disporre dei ruoli appropriati per amministrare i Controlli di servizio VPC.

Configura il perimetro di servizio dei Controlli di servizio VPC

Crea o aggiorna il perimetro di servizio:

  1. Aggiungi i progetti del cluster e del parco risorse al perimetro di servizio. Non è supportato un mesh di servizi distribuito su più perimetri di Controlli di servizio VPC.

  2. Aggiungi i servizi limitati al perimetro di servizio.

    Devi aggiungere servizi specifici agli elenchi dei servizi consentiti e con limitazioni nel perimetro di servizio in modo che il cluster Cloud Service Mesh possa accedervi. L'accesso a questi servizi è limitato anche all'interno della rete VPC (Virtual Private Cloud) del cluster.

    Se non aggiungi questi servizi, l'installazione di Cloud Service Mesh potrebbe non riuscire o non funzionare correttamente. Ad esempio, se non aggiungi l'API Mesh Configuration al perimetro di servizio, l'installazione non andrà a buon fine e i carichi di lavoro non riceveranno la configurazione di Envoy dal control plane gestito.

    Console

    1. Per modificare il perimetro, segui i passaggi descritti in Aggiornare un perimetro di servizio.
    2. Fai clic sulla pagina Modifica perimetro di servizio VPC.
    3. In Servizi con limitazioni, Servizi da proteggere, fai clic su Aggiungi servizi.
    4. Nella finestra di dialogo Specifica i servizi da limitare, fai clic su Filtra servizi e inserisci API Mesh Configuration.
    5. Seleziona la casella di controllo del servizio.
    6. Fai clic su Aggiungi API di configurazione mesh.
    7. Ripeti i passaggi da C a F per aggiungere:
      • API Cloud Service Mesh Certificate Authority
      • API GKE Hub
      • API Cloud IAM
      • API Cloud Monitoring
      • API Cloud Trace
      • API Cloud Monitoring
      • API Google Cloud Resource Manager
      • API Google Compute Engine
      • API Google Container Registry
      • API Artifact Registry
      • API Google Cloud Storage
      • API Cloud Logging
      • API Security Token Service
    8. Fai clic su Salva.

    gcloud

    Per aggiornare l'elenco dei servizi con limitazioni, utilizza il comando update e specifica i servizi da aggiungere come elenco separato da virgole:

    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

    Dove:

    • PERIMETER_NAME è il nome del perimetro di servizio che vuoi aggiornare.

    • POLICY_NAME è il nome numerico del criterio di accesso della tua organizzazione. Ad esempio, 330193482019.

  3. Fai clic su Servizi accessibili VPC e impostalo su "Tutti i servizi limitati", in modo che i servizi limitati nel passaggio precedente siano ancora accessibili all'interno del perimetro dei Controlli di servizio VPC.

  4. A meno che non stia installando Cloud Service Mesh da una rete all'interno del perimetro, aggiungi una regola di ingresso per consentire all'identità che esegue il comando asmcli di accedere al perimetro di servizio.

    Per ulteriori informazioni, consulta Aggiornare un perimetro di servizio.

Installa Cloud Service Mesh gestito in un perimetro dei Controlli di servizio VPC

Segui i passaggi descritti nella pagina Configurare Cloud Service Mesh gestito. Quindi, verifica che il provisioning del control plane sia stato eseguito correttamente e che non siano presenti errori relativi ai Controlli di servizio VPC.

Risoluzione dei problemi

Impossibile creare il cluster con l'immagine GKE 1.22 più recente

Esiste un problema noto che impedisce la creazione di un cluster con l'immagine 1.22 più recente in un ambiente con limitazioni dei Controlli di servizio VPC. La soluzione alternativa è creare prima questo cluster con l'immagine del canale GKE predefinito, quindi eseguire l'upgrade dell'immagine:

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

I container non sono in grado di scaricare le loro immagini.

Ciò può accadere se le immagini si trovano al di fuori del perimetro di servizio. Sposta le immagini in un bucket all'interno del perimetro o aggiorna il perimetro per aggiungere una regola di uscita. In genere, la regola di uscita può consentire a identità selezionate di accedere all'API Container Registry, all'API Artifact Registry e all'API Cloud Storage.

Il campo Stato della risorsa ControlPlaneRevision CRD mostra errori di Controlli di servizio VPC

Esegui questo comando per avere ulteriori informazioni sull'errore:

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

Dove:

  • PROJECT_ID è l'ID del progetto che presenta errori.