Controlli di servizio VPC per Cloud Service Mesh (gestito)

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

Per verificare se il tuo piano di controllo supporta i controlli di servizio VPC GA, verifica la funzionalità mesh stato dell'appartenenza per la condizione VPCSC_GA_SUPPORTED.

gcloud container fleet mesh describe --project FLEET_PROJECT_ID

L'output è simile a questo:

(...)
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 piano di controllo che non segnala Condizione VPCSC_GA_SUPPORTED e vuoi utilizzare i Controlli di servizio VPC, contatta l'assistenza.

Prima di iniziare

Il criterio dell'organizzazione e il perimetro di servizio dei Controlli di servizio VPC sono configurati a livello di organizzazione. Assicurati di aver ricevuto ruoli appropriati per l'amministrazione dei 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 il progetto del parco risorse al perimetro di servizio. Disporre di un mesh di servizi in più Controlli di servizio VPC perimetri non sono supportati.

  2. Aggiungere servizi limitati al perimetro di servizio.

    Devi aggiungere servizi specifici agli elenchi di servizi consentiti e limitati in il perimetro di servizio, in modo che il cluster Cloud Service Mesh possa accedervi. L'accesso a questi servizi è limitato anche all'interno dell'infrastruttura una rete VPC (Virtual Private Cloud).

    La mancata aggiunta di questi servizi potrebbe causare l'errore dell'installazione di Cloud Service Mesh o il non funzionano correttamente. Ad esempio, se non aggiungi API Mesh Configuration al perimetro di servizio, l'installazione non andrà a buon fine e i carichi di lavoro non riceveranno la configurazione Envoy dal piano di controllo.

    Console

    1. Segui i passaggi in Aggiornare un perimetro di servizio per modificare il perimetro.
    2. Fai clic sulla pagina Modifica perimetro di servizio VPC.
    3. Nella sezione Servizi limitati, Servizi da proteggere, fai clic su Aggiungi servizi.
    4. Nella finestra di dialogo Specifica i servizi da limitare, fai clic su Filtra services e inserisci API Mesh Configuration.
    5. Seleziona la casella di controllo del servizio.
    6. Fai clic su Add Mesh Configuration API (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 limitati, utilizza il comando update e specifica i servizi da aggiungere sotto forma di elenco delimitato 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 dell'accesso della tua organizzazione . Ad esempio, 330193482019.

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

  4. A meno che tu non stia installando Cloud Service Mesh da una rete in perimetro, aggiungi un regola in entrata per consentire all'identità che esegue il comando asmcli l'accesso al perimetro di servizio.

    Per ulteriori informazioni, vedi Aggiornamento di un perimetro di servizio.

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

Segui i passaggi in Configura Cloud Service Mesh gestito . Poi, verificare che sia stato eseguito il provisioning del piano di controllo e non ci sono errori relativi ai Controlli di servizio VPC.

Risoluzione dei problemi

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

Si è verificato un problema noto che impedisce la creazione di un cluster con Immagine 1.22 in un ambiente limitato di Controlli di servizio VPC. Per ovviare al problema, crea il prima con l'immagine del canale GKE predefinita, quindi esegui 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 possono scaricare le proprie immagini.

Questo può accadere se le immagini si trovano all'esterno del perimetro di servizio. Sposta le immagini in un bucket situato all'interno del perimetro oppure aggiorna per aggiungere una regola in uscita. In genere, la regola in uscita può consentire identità per accedere all'API Container Registry, all'API Artifact Registry, e API Cloud Storage.

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

Esegui questo comando per ottenere maggiori 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 ha riscontrato errori.