Creazione e gestione dei pool privati

Questa pagina descrive come creare, aggiornare, visualizzare ed eliminare i pool privati di Cloud Build. Se non hai familiarità con i pool privati, leggi la panoramica dei pool privati.

Prima di iniziare

  1. Crea un nuovo progetto Cloud o scegli un progetto esistente. Utilizzerai questo progetto per creare il pool privato.

  2. Attiva l'API Cloud Build.

    Abilita l'API

  3. Per utilizzare gli esempi a riga di comando in questa guida, installa e configura l'interfaccia a riga di comando di Google Cloud.

  4. (Facoltativo) Affinché le build possano accedere alle risorse private dalla rete Virtual Private Cloud, devi configurare una connessione in peering tra la rete Virtual Private Cloud e la rete Virtual Private Cloud in cui si trovano i pool privati. Per istruzioni, consulta la pagina Configurare l'ambiente per creare pool privati.

Creazione di un nuovo pool privato

Autorizzazioni IAM: devi avere il ruolo Proprietario pool di worker Cloud Build per eseguire questa attività. Per istruzioni sulla concessione di questo ruolo, vedi Configurare l'accesso alle risorse di Cloud Build.

Puoi creare fino a 10 pool privati per progetto Cloud per area geografica. Per creare un nuovo pool privato:

console

  1. Apri la pagina Pool di worker in Google Cloud Console:

    Apri la pagina del pool di worker di Cloud Build

  2. Seleziona il progetto in cui vuoi creare il pool privato.

  3. Nella pagina Pool di worker, fai clic su Crea.

  4. Nel riquadro laterale Crea pool privato:

    1. Inserisci un nome per il pool privato. Questo valore deve essere compreso tra 1 e 63 caratteri e i caratteri validi sono /[a-z][0-9]-/.

    2. Seleziona l'area geografica in cui vuoi creare il pool privato.

    3. Seleziona il tipo di macchina Compute Engine da utilizzare per il pool privato.

    4. Inserisci le dimensioni del disco per il pool privato. Specifica un valore maggiore o uguale a 100 e minore o uguale a 1000. Se non viene fornito, Cloud Build utilizza una dimensione del disco di 100.

    5. Inserisci il numero di progetto del progetto Cloud in cui si trova la tua rete Virtual Private Cloud. Se lasci vuoto questo campo, il pool privato utilizza la rete del producer di servizi. Per informazioni sulle opzioni di configurazione di rete disponibili e sulle relative implicazioni, consulta la sezione Configurare l'ambiente.

    6. Inserisci il nome della tua rete VPC. Se lasci vuoto questo campo, il pool privato utilizza la rete del producer di servizi. Per informazioni sulle opzioni di configurazione di rete disponibili e sulle relative implicazioni, consulta la sezione Configurare l'ambiente.

    7. L'opzione Assegna IP esterni è selezionata per impostazione predefinita. Se selezioni questa opzione, il pool privato potrà accedere alla rete Internet pubblica.

    8. Fai clic su Crea.

gcloud

Hai due opzioni per creare un nuovo pool privato utilizzando gcloud: puoi trasmettere il file di configurazione del pool privato al comando gcloud o passare le opzioni di configurazione direttamente al comando gcloud.

Passaggio del file di configurazione del pool privato al comando gcloud:

  1. Crea il file di configurazione del pool privato nel formato YAML o JSON.

  2. Esegui il comando gcloud seguente, dove PRIVATEPOOL_ID è un identificatore univoco per il pool privato, PRIVATEPOOL_CONFIG_FILE è il nome del file di configurazione del pool privato, mentre REGION è l'area geografica in cui vuoi creare il pool privato:

    gcloud builds worker-pools create PRIVATEPOOL_ID --config-from-file PRIVATEPOOL_CONFIG_FILE --region REGION
    

    Dovresti vedere un output simile al seguente:

    Created [https://cloudbuild.googleapis.com/v1/projects/gcb-docs-project/locations/us-central1/workerPools/private-pool].
    NAME                 CREATE_TIME                STATUS
    private-pool  2018-11-19T16:08:24+00:00  RUNNING
    

Passaggio delle opzioni di configurazione direttamente al comando gcloud:

Esegui questo comando gcloud:

    gcloud builds worker-pools create PRIVATEPOOL_ID \
        --project=PRIVATEPOOL_PROJECT_ID \
        --region=REGION \
        --peered-network=PEERED_NETWORK \
        --worker-machine-type=PRIVATEPOOL_MACHINE_TYPE \
        --worker-disk-size=PRIVATEPOOL_DISK_SIZE_GB \
        --no-public-egress

Sostituisci i valori segnaposto nei comandi riportati sopra con i seguenti valori:

  • PRIVATEPOOL_ID: un identificatore univoco per il tuo pool privato. Questo valore deve essere compreso tra 1 e 63 caratteri e i caratteri validi sono [a-zA-Z0-9_-]+.
  • PRIVATEPOOL_PROJECT_ID: l'ID del progetto Cloud in cui vuoi creare il tuo pool privato.
  • REGION: una delle aree geografiche supportate.
  • PEERED_NETWORK: l'URL della risorsa di rete della rete in peering con la rete del producer di servizi. PEERED_NETWORK deve essere nel formato projects/NETWORK_PROJECT_ID/global/networks/NETWORK_NAME, dove NETWORK_PROJECT_ID è l'ID progetto del progetto Cloud contenente la tua rete VPC e NETWORK_NAME è il nome della tua rete VPC. Se non specifichi un valore, Cloud Build utilizza la rete del fornitore di servizi.
  • PRIVATEPOOL_DISK_SIZE_GB: la dimensione del disco collegato al pool privato. Specifica un valore maggiore o uguale a 100 e minore o uguale a 1000. Se non viene fornito, Cloud Build utilizza una dimensione del disco di 100. Il valore di --worker-disk-size viene sostituito se specifichi una dimensione diversa del disco utilizzando --disk-size durante gcloud builds submit.
  • PRIVATEPOOL_MACHINE_TYPE: il tipo di macchina del worker. Se lasciato vuoto, Cloud Build utilizza il valore predefinito di e2-standard-2. Per un elenco dei tipi di macchine supportati, consulta la sezione Schema del file di configurazione del pool privato. Il criterio --worker-machine-type viene sostituito se specifichi un tipo di macchina diverso utilizzando --machine-type durante gcloud builds submit.
  • --no-public-egress: se questo flag è impostato, il pool privato viene creato senza un indirizzo IP esterno. Imposta questo flag se stai creando il pool privato all'interno di un perimetro Controlli di servizio VPC.

Server

  1. Crea il file di configurazione del pool privato denominato workerpool.json.

  2. Usa cURL per chiamare l'API Cloud Build:

        curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)"
            -H "Content-Type: application/json" \
            https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/?workerPoolId=PRIVATEPOOL_ID -d @workerpool.json
    

    Sostituisci i valori segnaposto nel comando riportato sopra con il seguente:

    • PRIVATEPOOL_PROJECT_ID: l'ID del progetto Cloud in cui vuoi creare il tuo pool privato.
    • PRIVATEPOOL_ID: l'ID del pool privato. Questo valore deve essere compreso tra 1 e 63 caratteri e i caratteri validi sono [a-zA-Z0-9_-]+.
    • REGION: una delle aree geografiche supportate per creare il pool privato.

Creazione di un pool privato all'interno di un perimetro Controlli di servizio VPC

Se stai creando un pool privato all'interno di un perimetro Controlli di servizio VPC, consulta Utilizzo dei Controlli di servizio VPC.

Aggiornamento di un pool privato

Autorizzazioni IAM: richiedi il ruolo Editor pool di worker di Cloud Build per eseguire questa attività. Per istruzioni sulla concessione di questo ruolo, consulta la sezione Configurare l'accesso alle risorse di Cloud Build.

Puoi aggiornare la dimensione del disco e il tipo di macchina di un pool privato esistente. Per aggiornare un pool privato:

console

  1. Apri la pagina Pool di worker in Google Cloud Console:

    Apri la pagina del pool di worker di Cloud Build

  2. Seleziona il progetto in cui hai creato il pool privato.

  3. Fai clic sul nome del pool privato.

  4. Nel riquadro laterale Modifica pool privato, aggiorna il tipo di macchina e/o le dimensioni del disco.

  5. Fai clic su Salva.

gcloud

Se aggiorni il file di configurazione del pool privato:

  1. Aggiorna il campo che vuoi modificare nel file di configurazione del pool privato.

  2. Esegui il comando seguente, dove PRIVATEPOOL_ID è l'identificatore univoco del pool privato, REGION è l'area geografica in cui si trova il pool privato e PRIVATEPOOL_CONFIG_FILE è il nome del file di configurazione del pool privato:

    gcloud builds worker-pools update PRIVATEPOOL_ID \
        --region=REGION \
        --config-from-file=PRIVATEPOOL_CONFIG_FILE
    

Se trasmetti il valore per aggiornarlo direttamente al comando gcloud builds worker-pools update:

   gcloud builds worker-pools update PRIVATEPOOL_ID  \
       --region=REGION \
       --worker-disk-size=PRIVATEPOOL_DISK_SIZE \
       --worker-machine-type=PRIVATEPOOL_MACHINE_TYPE

Sostituisci i valori segnaposto nei comandi riportati sopra con i seguenti valori:

  • PRIVATEPOOL_ID: l'ID del pool privato esistente. Non puoi aggiornare questo valore. Devi specificare un ID pool privato esistente.
  • REGION: l'area geografica in cui hai creato il pool privato.
  • PRIVATEPOOL_DISK_SIZE: la dimensione del disco aggiornata.
  • PRIVATEPOOL_MACHINE_TYPE è il tipo di macchina aggiornato.

Server

  1. Nel file di configurazione del pool privato, aggiorna la dimensione del disco e/o il tipo di macchina.

  2. Utilizza cURL per chiamare l'API Cloud Build, sostituendo le variabili con i valori appropriati:

    curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/PRIVATEPOOL_ID \
        -d @workerpool.json
    

    Sostituisci i valori segnaposto nel comando riportato sopra con il seguente:

    • PRIVATEPOOL_ID: l'ID del pool privato.
    • PRIVATEPOOL_PROJECT_ID: l'ID del progetto Cloud che contiene il tuo pool privato.
    • REGION: l'area geografica in cui hai creato il pool privato.

Visualizzazione dei dettagli del pool privato

Autorizzazioni IAM: devi avere il ruolo Visualizzatore pool di worker Cloud Build per eseguire questa attività. Per istruzioni sulla concessione di questo ruolo, consulta la sezione Configurare l'accesso alle risorse di Cloud Build.

Per visualizzare i dettagli di un pool privato:

console

  1. Apri la pagina Pool di worker nella console:

    Apri la pagina del pool di worker di Cloud Build

  2. Seleziona il progetto in cui hai creato il pool privato

  3. Fai clic sul nome del pool privato.

Viene visualizzato il riquadro laterale Modifica pool privato, che contiene i dettagli del pool privato.

gcloud

Se non conosci l'ID del pool privato, esegui il comando seguente per elencare i dettagli del pool privato:

gcloud builds worker-pools list --project=PRIVATEPOOL_PROJECT_ID

dove PRIVATEPOOL_PROJECT_ID è l'ID del progetto Cloud che contiene il pool privato.

Dovresti vedere un output simile al seguente:

NAME                                                                  CREATE_TIME                STATUS
projects/[PRIVATEPOOL_PROJECT_ID]/locations/us-central1/workerPools/[PRIVATEPOOL_ID]      2018-11-19T16:08:24+00:00  RUNNING

Se conosci l'ID del pool privato, esegui il comando seguente per ottenere ulteriori informazioni sul pool privato:

gcloud builds worker-pools describe PRIVATEPOOL_ID \
    --region=REGION \
    --project=PRIVATEPOOL_PROJECT_ID

Sostituisci i valori segnaposto nel comando riportato sopra con il seguente:

  • PRIVATEPOOL_ID: l'ID del pool privato.
  • REGION: l'area geografica in cui hai creato il pool privato.
  • PRIVATEPOOL_PROJECT_ID: l'ID del progetto Cloud che contiene il tuo pool privato.

Server

Se non conosci l'ID del pool privato, esegui il comando cURL seguente per elencare i dettagli del pool privato, dove PRIVATEPOOL_PROJECT_ID è l'ID del progetto cloud che contiene il pool privato:

    curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools

Se conosci l'ID del pool privato, esegui il comando cURL riportato di seguito per recuperare i dettagli del pool privato:

    curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/PRIVATEPOOL_ID

Sostituisci i valori segnaposto nei comandi riportati sopra con i seguenti valori:

  • PRIVATEPOOL_ID: l'ID del pool privato.
  • PRIVATEPOOL_PROJECT_ID: l'ID del progetto Cloud che contiene il tuo pool privato.
  • REGION: l'area geografica in cui hai creato il pool privato.

Eliminazione di un pool privato

Autorizzazioni IAM: devi avere il ruolo Proprietario pool di worker Cloud Build per eseguire questa attività. Per istruzioni sulla concessione di questo ruolo, consulta la sezione Configurare l'accesso alle risorse di Cloud Build.

Per eliminare un pool privato:

console

  1. Apri la pagina Pool di worker nella console:

    Apri la pagina del pool di worker di Cloud Build

  2. Nella riga corrispondente al tuo pool privato, fai clic sull'icona del cestino.

gcloud

Per eliminare un pool privato, esegui il comando gcloud builds worker-pools delete:

 gcloud builds worker-pools delete PRIVATEPOOL_ID \
     --region=REGION \
     --project=PRIVATEPOOL_PROJECT_ID

Sostituisci i valori segnaposto nel comando riportato sopra con il seguente:

  • PRIVATEPOOL_ID: l'ID del pool privato.
  • PRIVATEPOOL_PROJECT_ID: l'ID del progetto Cloud che contiene il tuo pool privato.
  • REGION: l'area geografica in cui hai creato il pool privato.

Dopo l'eliminazione del pool privato, dovresti vedere un output simile al seguente:

 Deleted [https://cloudbuild.googleapis.com/v1/projects/gcb-docs-project/locations/us-central1/workerPools/[PRIVATEPOOL_ID].

Server

Usa cURL per chiamare l'API Cloud Build:

  curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/PRIVATEPOOL_ID

Sostituisci i valori segnaposto nei comandi riportati sopra con i seguenti valori:

  • PRIVATEPOOL_ID: l'ID del pool privato.
  • PRIVATEPOOL_PROJECT_ID: l'ID del progetto Cloud che contiene il tuo pool privato.
  • REGION: l'area geografica in cui hai creato il pool privato.

Passaggi successivi