Crea e gestisci 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 Google Cloud progetto o scegli un progetto esistente. Utilizzerai questo progetto per creare il pool privato.

  2. Enable the Cloud Build API.

    Enable the API

  3. Per utilizzare gli esempi di riga di comando in questa guida, installa e configura Google Cloud CLI.

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

  5. (Facoltativo) Acquisisci familiarità con le configurazioni dei tipo di macchina e la disponibilità regionale. Per ulteriori informazioni, consulta workerconfig nella documentazione dello schema del file di configurazione del pool privato.

Crea un pool privato

Per ottenere le autorizzazioni necessarie per creare un pool privato, chiedi all'amministratore di concederti il ruolo IAM Proprietario di Cloud Build WorkerPool (roles/cloudbuild.workerPoolOwner) sul tuo account di servizio. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Puoi creare fino a 10 pool privati per Google Cloud progetto per regione. Per creare un pool privato:

Console Google Cloud

  1. Apri la pagina Pool di worker nella console Google Cloud :

    Apri la pagina del pool di worker di Cloud Build

  2. Fai clic su Crea pool privato.

    Viene visualizzata la pagina Crea pool privato.

    Inserisci le seguenti informazioni per creare il tuo pool privato:

  3. Nome: inserisci un nome per il pool privato. Questo valore può contenere solo caratteri alfanumerici /[a-z][0-9]/ o trattini -. Il nome del tuo pool privato deve contenere da 1 a 63 caratteri.

  4. Regione: seleziona la regione in cui vuoi creare il pool privato.

  5. Configurazione macchina: configura quanto segue:

    1. Serie: scegli una serie di macchine.

    2. Tipo di macchina: questa impostazione mostra i tipi di macchina, in base alla serie di macchine selezionata, che il pool di worker può utilizzare. I tipi di macchine disponibili variano in base alla regione.

    3. Dimensioni disco: inserisci le dimensioni del disco per il pool privato. Specifica un valore maggiore o uguale a 100 e minore o uguale a 4000. Se non fornisci un valore, Cloud Build utilizza una dimensione del disco di 100.

    4. Virtualizzazione nidificata: se hai selezionato una macchina della serie C3, puoi attivare la virtualizzazione nidificata. Questa funzionalità ti consente di eseguire istanze di macchine virtuali (VM) all'interno di altre VM in modo da poter creare i tuoi ambienti di virtualizzazione.

  6. In Tipo di rete, seleziona una delle seguenti opzioni:

    1. Rete predefinita: seleziona questa opzione se la tua istanza è accessibile tramite la rete internet pubblica. Se è selezionata l'opzione Rete predefinita, il pool privato utilizza la rete del produttore di servizi. Per maggiori informazioni, consulta Configurare l'ambiente per utilizzare pool privati in una rete VPC.

    2. Rete privata: seleziona questa opzione se la tua istanza è ospitata su una rete privata, poi procedi nel seguente modo:

      1. Progetto: seleziona l' Google Cloud ID progetto.

      2. Rete: seleziona la tua rete dal menu a discesa. Se non hai creato una rete, consulta Crea e gestisci le reti VPC per scoprire come crearne una.

      3. Intervallo IP: inserisci l'intervallo IP interno che la rete di produzione di Cloud Build può utilizzare per l'allocazione alle VM che mantengono una connessione con i repository privati.

        Puoi specificare l'intervallo utilizzando la notazione di routing CIDR (Classless Inter-Domain Routing) nel formato STARTING_IP_ADDRESS/SUBNET_PREFIX_SIZE. Ad esempio, 192.0.2.0/24 ha una lunghezza del prefisso di 24. I primi 24 bit dell'intervallo IP vengono utilizzati come subnet mask (192.0.2.0), mentre gli indirizzi host possibili vanno da 192.0.2.0 a 192.0.2.255.

        Il valore della lunghezza del prefisso non deve superare /29. Se non viene specificato alcun valore per l'intervallo, viene assegnato automaticamente un valore predefinito di /24. Se non viene specificato alcun valore per la lunghezza del prefisso, gli indirizzi IP vengono assegnati automaticamente all'interno della rete VPC con peering. Se non viene specificato alcun valore per l'indirizzo IP, a quest'ultimo viene assegnato automaticamente un intervallo all'interno della rete VPC con peering.

    3. Assegna IP esterni: Questa opzione è selezionata per impostazione predefinita per consentire ai pool privati di accedere a internet pubblico. Deseleziona questa casella per limitare l'accesso alla tua rete privata.

  7. Fai clic su Crea per creare il pool privato.

gcloud

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

Passa il file di configurazione del pool privato al comando gcloud:

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

  2. Esegui il seguente comando gcloud, dove PRIVATEPOOL_ID è un identificatore univoco per il tuo pool privato, PRIVATEPOOL_CONFIG_FILE è il nome del file di configurazione del pool privato e REGION è la regione 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
    

Passa le 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

Dove:

  • PRIVATEPOOL_ID: un identificatore univoco per il tuo pool privato. Questo valore deve contenere da 1 a 63 caratteri e i caratteri validi sono [a-zA-Z0-9_-]+.
  • PRIVATEPOOL_PROJECT_ID: l'ID del Google Cloud progetto in cui vuoi creare il pool privato.
  • REGION: una delle regioni supportate.
  • PEERED_NETWORK: l'URL della risorsa di rete della rete in peering con la rete 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 Google Cloud che contiene la tua rete VPC e NETWORK_NAME è il nome della tua rete VPC. Se non specifichi un valore, Cloud Build utilizza la rete del service provider.
  • PRIVATEPOOL_DISK_SIZE_GB: le dimensioni del disco collegato al pool privato. Specifica un valore maggiore o uguale a 100 e minore o uguale a 4000. Se non viene specificato, Cloud Build utilizza una dimensione del disco pari a 100. --worker-disk-size viene ignorato se specifici una dimensione del disco diversa 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 Schema del file di configurazione dei pool privati. --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 dei Controlli di servizio VPC.

API

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

  2. Utilizza 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
    

    Dove:

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

Crea un pool privato all'interno di un perimetro dei Controlli di servizio VPC

Per creare un pool privato con un perimetro dei Controlli di servizio VPC, consulta la sezione Utilizzo dei Controlli di servizio VPC.

Aggiorna un pool privato

Per ottenere le autorizzazioni necessarie per creare un pool privato, chiedi all'amministratore di concederti il ruolo IAM Editor di Cloud Build WorkerPool (roles/cloudbuild.workerPoolEditor) account di servizioe account. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Per aggiornare la configurazione di un pool privato:

Console

  1. Apri la pagina Pool di worker nella console Google Cloud :

    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. Nella pagina Modifica pool privato, aggiorna il tipo di macchina e la dimensione del disco in base alle esigenze.

  5. Fai clic su Salva.

gcloud

Aggiornando il file di configurazione del pool privato:

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

  2. Esegui questo comando, dove PRIVATEPOOL_ID è l'identificatore univoco del tuo pool privato, REGION è la regione in cui si trova il tuo 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
    

Passando il valore da aggiornare 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

Dove:

  • PRIVATEPOOL_ID: l'ID del tuo pool privato esistente. Non puoi aggiornare questo valore. Devi specificare un ID pool privato esistente.
  • REGION: la regione in cui hai creato il pool privato.
  • PRIVATEPOOL_DISK_SIZE: le dimensioni aggiornate del disco.
  • PRIVATEPOOL_MACHINE_TYPE è il tipo di macchina aggiornato.

API

  1. Nel file di configurazione del pool privato, aggiorna le dimensioni del disco e il tipo di macchina in base alle esigenze.

  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
    

    Dove:

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

Visualizzare i dettagli del tuo pool privato

Per ottenere le autorizzazioni necessarie per creare un pool privato, chiedi all'amministratore di concederti il ruolo IAM Visualizzatore di WorkerPool Cloud Build (roles/cloudbuild.workerPoolViewer) sul tuo account di servizio. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Per visualizzare i dettagli di un pool privato:

Console

  1. Apri la pagina Pool di worker nella console Google Cloud :

    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 visualizzata la pagina Modifica pool privato.

gcloud

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

gcloud builds worker-pools list --region=REGION --project=PRIVATEPOOL_PROJECT_ID

Dove:

  • PRIVATEPOOL_PROJECT_ID è l'ID del progettoGoogle Cloud che contiene il pool privato.
  • REGION è la regione del 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 tuo pool privato, esegui questo comando per ottenere maggiori informazioni sul pool privato:

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

Dove

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

API

Se non conosci l'ID del tuo pool privato, esegui questo comando cURL per elencare i dettagli del tuo pool privato, dove PRIVATEPOOL_PROJECT_ID è l'ID del progetto Google 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 tuo pool privato, esegui questo comando curl per ottenere i dettagli del tuo 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

Dove

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

Visualizzare le stime dei prezzi dei pool privati

Quando crei o aggiorni un pool privato, la barra laterale Stima mensile nelle pagine Crea pool privato e Modifica pool privato mostra una stima del costo mensile di esecuzione del pool. Il calcolo si basa sui seguenti fattori:

  • Numero di CPU virtuali
  • Tipo di macchina
  • Memoria
  • Minuti di build
  • Regione, solo per macchine N2D e C3

La stima dei prezzi non include i costi per le dimensioni del disco aggiuntivo oltre i 100 GB inclusi per impostazione predefinita. Il prezzo stimato potrebbe essere diverso dal prezzo finale a seconda della configurazione finale della build, dei minuti di build effettivi utilizzati e di altri fattori. Per maggiori informazioni, consulta la pagina Prezzi di Cloud Build.

Eliminare un pool privato

Per ottenere le autorizzazioni necessarie per creare un pool privato, chiedi all'amministratore di concederti il ruolo IAM Proprietario di Cloud Build WorkerPool (roles/cloudbuild.workerPoolOwner) sul tuo account di servizio. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Per eliminare un pool privato:

Console

  1. Apri la pagina Pool di worker nella console Google Cloud :

    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

Dove:

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

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

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

API

Utilizza 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

Dove:

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

Passaggi successivi