In questa pagina viene descritto 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
Crea un nuovo Google Cloud progetto o scegli un progetto esistente. Utilizzerai questo progetto per creare il pool privato.
-
Abilita l'API Cloud Build.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo servizi (
roles/serviceusage.serviceUsageAdmin), che contiene l'autorizzazioneserviceusage.services.enable. Scopri come concedere i ruoli. Per utilizzare gli esempi di riga di comando in questa guida, installa e configura Google Cloud CLI.
(Facoltativo) Affinché le build possano accedere alle risorse private dalla rete Virtual Private Cloud, devi configurare una connessione di peering tra la rete Virtual Private Cloud e la rete Virtual Private Cloud in cui risiedono i pool privati. Per le istruzioni, consulta Configurare l' ambiente per creare pool privati.
(Facoltativo) Acquisici familiarità con le configurazioni tipo di macchina e la disponibilità regionale. Per saperne di più, consulta
workerconfignella documentazione dello schema del file di configurazione dei pool privati.
Creare un pool privato
Per assicurarti che disponga delle autorizzazioni necessarie per creare un pool privato, chiedi all'amministratore di concedere il ruolo IAM Proprietario di WorkerPool di Cloud Build (roles/cloudbuild.workerPoolOwner) al tuo account di servizio.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
L'amministratore potrebbe anche essere in grado di concedere le autorizzazioni richieste tramite ruoli personalizzati o altri ruoli predefiniti.
Puoi creare fino a 10 pool privati per Google Cloud progetto per regione. Per creare un pool privato:
Google Cloud Console
Apri la pagina Pool di worker nella Google Cloud console:
Fai clic su Crea pool privato.
Viene visualizzata la pagina Crea pool privato.
Inserisci le seguenti informazioni per creare il pool privato:
Nome: inserisci un nome per il pool privato. Questo valore può contenere solo caratteri alfanumerici
/[a-z][0-9]/o trattini-. Il nome del pool privato deve essere compreso tra 1 e 63 caratteri.Regione: seleziona la regione in cui vuoi creare il pool privato.
Configurazione macchina: configura quanto segue:
Serie: scegli una serie di macchine.
Tipo di macchina: questa impostazione mostra i tipi di macchine, in base alla serie di macchine selezionata, che il pool di worker può utilizzare. I tipi di macchine disponibili variano in base alla regione.
Dimensioni del 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.
Virtualizzazione nidificata: se hai selezionato una macchina della serie C3, puoi abilitare 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.
In Tipo di rete, seleziona una delle seguenti opzioni:
Rete predefinita: seleziona questa opzione se la tua istanza è accessibile tramite la rete internet pubblica. Quando è selezionata l'opzione Rete predefinita, il pool privato utilizza la rete del produttore di servizi. Per saperne di più, consulta Configurare l'ambiente per utilizzare i pool privati in una rete VPC.
Rete privata: seleziona questa opzione se la tua istanza è ospitata su una rete privata, quindi procedi nel seguente modo:
Progetto: seleziona l'ID Google Cloud progetto.
Rete: seleziona la rete dal menu a discesa. Se non hai creato una rete, consulta Crea e gestisci le reti VPC per scoprire come crearne una.
Intervallo IP: inserisci l'intervallo IP interno che la rete del produttore di Cloud Build può utilizzare per allocare 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/24ha 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 da192.0.2.0a192.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 in peering. Se non viene specificato alcun valore per l'indirizzo IP, all'indirizzo IP viene assegnato automaticamente un intervallo all'interno della rete VPC in peering.
Assegna IP esterni: Questa opzione è selezionata per impostazione predefinita per consentire ai pool privati di accedere alla rete internet pubblica. Deseleziona questa casella per limitare l'accesso alla rete privata.
Fai clic su Crea per creare il pool privato.
gcloud
Hai due opzioni per creare un nuovo pool privato utilizzando gcloud: puoi passare il file di configurazione del pool privato al comando gcloud oppure passare le opzioni di configurazione direttamente al comando gcloud.
Passa il file di configurazione del pool privato al comando gcloud:
Crea il file di configurazione del pool privato in formato YAML o JSON.
Esegui il seguente
gcloudcomando, dovePRIVATEPOOL_IDè un identificatore univoco per il tuo pool privato,PRIVATEPOOL_CONFIG_FILEè il nome del file di configurazione del pool privato eREGIONè la regione in cui vuoi creare il pool privato:gcloud builds worker-pools create PRIVATEPOOL_ID --config-from-file PRIVATEPOOL_CONFIG_FILE --region REGIONDovresti 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 il seguente 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 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 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_NETWORKdeve essere nel formatoprojects/NETWORK_PROJECT_ID/global/networks/NETWORK_NAME, doveNETWORK_PROJECT_IDè l'ID progetto del progetto che contiene la rete VPC eNETWORK_NAMEè il nome della rete VPC. Google Cloud Se non specifichi un valore, Cloud Build utilizza la rete del fornitore di servizi.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 fornito, Cloud Build utilizza una dimensione del disco di 100.--worker-disk-sizeviene sostituito se specifichi una dimensione del disco diversa utilizzando--disk-sizedurantegcloud builds submit.PRIVATEPOOL_MACHINE_TYPE: il tipo di macchina del worker. Se lasciato vuoto, Cloud Build utilizza il valore predefinitoe2-standard-2. Per un elenco dei tipi di macchine supportati, consulta Schema del file di configurazione dei pool privati.--worker-machine-typeviene sostituito se specifichi un tipo di macchina diverso utilizzando--machine-typedurantegcloud 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
Crea il file di configurazione del pool privato denominato
workerpool.json.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.jsonDove:
PRIVATEPOOL_PROJECT_ID: l'ID del Google Cloud progetto in cui vuoi creare il 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 regioni supportate in cui creare il pool privato.
Creare 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 Utilizzare i Controlli di servizio VPC.
Aggiornare un pool privato
Per assicurarti che disponga delle autorizzazioni necessarie per creare un pool privato, chiedi all'amministratore di concedere il ruolo IAM Editor di WorkerPool di Cloud Build (roles/cloudbuild.workerPoolEditor) al tuo account di servizio.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
L'amministratore potrebbe anche essere in grado di concedere le autorizzazioni richieste tramite ruoli personalizzati o altri ruoli predefiniti.
Per aggiornare la configurazione di un pool privato:
Console
Apri la pagina Pool di worker nella Google Cloud console:
Seleziona il progetto in cui hai creato il pool privato.
Fai clic sul nome del pool privato.
Nella pagina Modifica pool privato, aggiorna il tipo di macchina e le dimensioni del disco in base alle esigenze.
Fai clic su Salva.
gcloud
Aggiornando il file di configurazione del pool privato:
Aggiorna il campo che vuoi modificare nel tuo file di configurazione del pool privato.
Esegui il seguente comando, dove
PRIVATEPOOL_IDè l'identificatore univoco del pool privato,REGIONè la regione in cui si trova il pool privato ePRIVATEPOOL_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 command:
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 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 del disco aggiornate.PRIVATEPOOL_MACHINE_TYPEè il tipo di macchina aggiornato.
API
Nel file di configurazione del pool privato, aggiorna le dimensioni del disco e il tipo di macchina in base alle esigenze.
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.jsonDove:
PRIVATEPOOL_ID: l'ID del pool privato.PRIVATEPOOL_PROJECT_ID: l'ID del Google Cloud progetto che contiene il pool privato.REGION: la regione in cui hai creato il pool privato.
Visualizzare i dettagli del pool privato
Per assicurarti che disponga delle autorizzazioni necessarie per creare un pool privato, chiedi all'amministratore di concedere il ruolo IAM Visualizzatore di WorkerPool di Cloud Build (roles/cloudbuild.workerPoolViewer) al tuo account di servizio.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
L'amministratore potrebbe anche essere in grado di concedere le autorizzazioni richieste tramite ruoli personalizzati o altri ruoli predefiniti.
Per visualizzare i dettagli di un pool privato:
Console
Apri la pagina Pool di worker nella Google Cloud console:
Seleziona il progetto in cui hai creato il pool privato.
Fai clic sul nome del pool privato.
Viene visualizzata la pagina Modifica pool privato.
gcloud
Se non conosci l'ID del pool privato, esegui il seguente comando per elencare i dettagli del pool privato:
gcloud builds worker-pools list --region=REGION --project=PRIVATEPOOL_PROJECT_ID
Dove:
PRIVATEPOOL_PROJECT_IDè l'ID del Google Cloud progetto 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 pool privato, esegui il seguente 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 pool privato.REGION: la regione in cui hai creato il pool privato.PRIVATEPOOL_PROJECT_ID: l'ID del Google Cloud progetto che contiene il pool privato.
API
Se non conosci l'ID del pool privato, esegui il seguente
cURL per
elencare i dettagli del pool privato, dove PRIVATEPOOL_PROJECT_ID
è l'ID del Google Cloud progetto 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 seguente comando curl per ottenere 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
Dove
PRIVATEPOOL_ID: l'ID del pool privato.PRIVATEPOOL_PROJECT_ID: l'ID del Google Cloud progetto che contiene il 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 di esecuzione del pool al mese. Il calcolo si basa sui seguenti fattori:
- Numero di CPU virtuali
- Tipo di macchina
- Memoria
- Minuti di build
- Regione, solo per le 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 di compilazione finale, dei minuti di build effettivi utilizzati e di altri fattori. Per saperne di più, consulta Prezzi di Cloud Build.
Eliminare un pool privato
Per assicurarti che disponga delle autorizzazioni necessarie per creare un pool privato, chiedi all'amministratore di concedere il ruolo IAM Proprietario di WorkerPool di Cloud Build (roles/cloudbuild.workerPoolOwner) al tuo account di servizio.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
L'amministratore potrebbe anche essere in grado di concedere le autorizzazioni richieste tramite ruoli personalizzati o altri ruoli predefiniti.
Per eliminare un pool privato:
Console
Apri la pagina Pool di worker nella Google Cloud console:
Nella riga corrispondente al tuo pool privato, fai clic sull'icona del cestino.
gcloud
Per eliminare un pool privato, esegui il gcloud builds worker-pools
delete comando:
gcloud builds worker-pools delete PRIVATEPOOL_ID \
--region=REGION \
--project=PRIVATEPOOL_PROJECT_ID
Dove:
PRIVATEPOOL_ID: l'ID del pool privato.PRIVATEPOOL_PROJECT_ID: l'ID del Google Cloud progetto che contiene il pool privato.REGION: la regione in cui hai creato il pool privato.
Dopo aver eliminato il 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].
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 pool privato.PRIVATEPOOL_PROJECT_ID: l'ID del Google Cloud progetto che contiene il pool privato.REGION: la regione in cui hai creato il pool privato.
Passaggi successivi
- Scopri come eseguire le build nei pool privati.
- Scopri come utilizzare i Controlli di servizio VPC con i pool privati.