Utilizzo degli ambienti di esecuzione di Cloud Deploy

Un ambiente di esecuzione di Cloud Deploy è l'ambiente in cui Cloud Deploy esegue le operazioni di rendering, pre-deployment, deployment, verifica e postdeployment. L'ambiente di esecuzione è costituito dai seguenti componenti:

  • Il pool di worker di Cloud Build (predefinito o privato) in cui Cloud Deploy esegue le operazioni di rendering, pre-deployment, deployment, verifica e post-deployment

  • L'account di servizio (predefinito o alternativo) che chiama Cloud Deploy per eseguire queste azioni

  • La posizione di archiviazione (impostazione predefinita o alternativa) per i manifest visualizzati in Cloud Storage

  • Il timeout di Cloud Build per le operazioni (predefinito o personalizzato)

Questo articolo descrive l'ambiente di esecuzione predefinito, gli account di servizio e lo spazio di archiviazione per Cloud Deploy, nonché il motivo e la modalità di modifica di questi valori predefiniti.

Valori predefiniti

Di seguito sono riportate le impostazioni predefinite utilizzate da Cloud Deploy per eseguire, eseguire il rendering e il deployment e archiviare asset come i manifest visualizzati:

  • Pool di worker predefinito

    Per impostazione predefinita, Cloud Deploy viene eseguito nel pool di worker predefinito di Cloud Build. Tuttavia, puoi configurare Cloud Deploy per utilizzare un pool di worker privato di Cloud Build.

    Per ulteriori dettagli sui pool di worker, consulta Panoramica dei pool privati e dei pool privati di Cloud Build.

  • Account di servizio di esecuzione predefinito

    Per impostazione predefinita, Cloud Deploy utilizza l'account di servizio predefinito di Compute Engine.

  • Località di archiviazione predefinita di Cloud Deploy

    Questo valore è il bucket Cloud Storage in cui Cloud Deploy archivia i manifest di cui è stato eseguito il rendering. Per impostazione predefinita, Cloud Deploy crea un bucket Cloud Storage, nella stessa regione delle risorse Cloud Deploy, nel seguente formato:

    <location>.deploy-artifacts.<project ID>.appspot.com

  • Timeout Cloud Build predefinito

    Per impostazione predefinita, Cloud Build ha un timeout di 1 ora sulle operazioni eseguite per Cloud Deploy. Puoi modificare il timeout nella specifica dell'ambiente di esecuzione nella configurazione di destinazione.

Le seguenti sezioni descrivono le circostanze in cui cambieresti uno qualsiasi di questi valori e i link alle istruzioni per farlo.

Informazioni sui pool di worker di Cloud Build

L'ambiente di esecuzione di Cloud Deploy può utilizzare uno dei seguenti:

  • Il pool predefinito di Cloud Build

    Il pool di worker predefinito è un ambiente ospitato sicuro con accesso alla rete Internet pubblica. Le operazioni di rendering, deployment, pre-deployment, postdeployment e verifica vengono eseguite in quel pool, isolate da altri carichi di lavoro.

  • Pool privato

    I pool di worker privati sono pool dedicati dedicati che possono essere personalizzati più del pool di worker predefinito. Questa personalizzazione può includere la possibilità di accedere alle risorse in una rete privata. Come il pool di worker predefinito, i pool di worker privati sono ospitati e completamente gestiti da Cloud Build. È possibile fare lo scale up o fare lo scale down di questi pool fino a zero, senza dover configurare, eseguire l'upgrade o scalare.

    La panoramica dei pool privati di Cloud Build descrive i pool di worker predefiniti e i pool di worker privati in modo più approfondito, inclusa una tabella che ne confronta le funzionalità.

Modifica dell'ambiente di esecuzione di Cloud Deploy

Potresti cambiare l'ambiente di esecuzione di Cloud Deploy nelle seguenti circostanze:

  • Vuoi eseguire il deployment in un cluster Google Kubernetes Engine privato

  • Vuoi eseguire operazioni di rendering, deployment, pre-deployment, postdeployment o verifica o una combinazione delle cinque da eseguire in un ambiente isolato dalle altre organizzazioni.

  • Vuoi che queste operazioni vengano eseguite in un ambiente non connesso alla rete Internet pubblica.

  • Vuoi ambienti separati per il rendering e il deployment.

  • Vuoi utilizzare un account di servizio dedicato con autorizzazioni più specifiche per l'utilizzo rispetto alle autorizzazioni disponibili nell'account di servizio predefinito.

  • Vuoi archiviare i manifest visualizzati in una località diversa dal bucket Cloud Storage predefinito.

La configurazione di tutte e tre le parti dell'ambiente di esecuzione (pool di worker, account di servizio e archiviazione) viene eseguita per destinazione nella configurazione YAML di ogni destinazione.

Passaggio da un pool predefinito a un pool privato

Configura i pool di worker per destinazione, in modo che il pool venga utilizzato per RENDER, DEPLOY, PREDEPLOY, POSTDEPLOY o VERIFY (o una combinazione dei cinque) solo per quel target.

Per utilizzare il pool di worker predefinito sia per le operazioni di rendering che per quelle di deployment, non devi fare nulla.

Di seguito è riportato un esempio di configurazione di destinazione che specifica un pool di worker privato per DEPLOY e il pool di worker predefinito per RENDER, PREDEPLOY, POSTDEPLOY e VERIFY:

executionConfigs:
- usages:
  - DEPLOY
  workerPool: "projects/p123/locations/us-central1/workerPools/wp123"
- usages:
  - RENDER
  - PREDEPLOY
  - VERIFY
  - POSTDEPLOY

Per ulteriori informazioni su come configurare i pool privati per i target, consulta Documentazione sulla configurazione della pipeline di distribuzione.

Passaggio dall'account di servizio predefinito a quello di esecuzione personalizzato

Come con il pool di worker, puoi specificare un account di servizio alternativo da utilizzare per il rendering o il deployment (o entrambi) per destinazione. Per farlo, aggiungi la seguente riga alla configurazione di destinazione, dopo l'elemento workerPool:

serviceAccount: "[name]@[project_name].iam.gserviceaccount.com"

L'account di servizio specificato deve includere il ruolo clouddeploy.jobRunner, come descritto nel documento degli account di servizio Cloud Deploy.

Per ulteriori dettagli su questa configurazione, consulta la pagina Definizioni dei target.

Modificare la posizione di archiviazione

Per modificare il bucket di archiviazione dai valori predefiniti di Cloud Deploy, aggiungi la seguente riga alla definizione del target nella intestazione workerPool:

artifactStorage: "gs://[bucket_name]/[dir]"

Questa configurazione cambia la posizione di archiviazione dei manifest, ma non influisce su dove sia archiviata l'origine di rendering.

Utilizzo di Cloud Deploy in un perimetro dei Controlli di servizio VPC

Cloud Deploy supporta i Controlli di servizio VPC.

Puoi seguire la guida rapida dei Controlli di servizio VPC per configurare un perimetro di servizio.

Limitazioni

  • Devi utilizzare un pool di worker privato di Cloud Build per l'ambiente di esecuzione della destinazione, non il pool di worker predefinito.

  • Il progetto che contiene il pool di worker e il progetto che contiene le risorse Cloud Deploy deve rimanere nello stesso perimetro di sicurezza dei Controlli di servizio VPC.

  • Qualsiasi cluster GKE nel quale esegui il deployment nel perimetro dei Controlli di servizio VPC deve essere un cluster privato.

    Per configurare un pool privato per un cluster privato, segui questo tutorial.

Passaggi successivi