Google Cloud CLI (gcloud)¶
Traduzione: Copia tutti i comandi
Traduzione: Generare PDF
< >
Comandi e flussi di lavoro completi di Google Cloud CLI per la gestione dei servizi di Google Cloud Platform, inclusi Compute Engine, Cloud Storage e Kubernetes Engine.
## Installazione e autenticazione
|Command|Description|
|---------|-------------|
|`gcloud auth login`|Login to Google Cloud|
|`gcloud auth application-default login`|Login for application default credentials|
|`gcloud auth list`|List authenticated accounts|
|`gcloud auth revoke`|Revoke authentication|
|`gcloud config list`|Show current configuration|
|`gcloud config set project PROJECT_ID`|Set default project|
|`gcloud config set compute/region us-central1`|Set default region|
|`gcloud config set compute/zone us-central1-a`|Set default zone|
## Gestione dei progetti
|Command|Description|
|---------|-------------|
|`gcloud projects list`|List all projects|
|`gcloud projects create PROJECT_ID`|Create new project|
|`gcloud projects delete PROJECT_ID`|Delete project|
|`gcloud projects describe PROJECT_ID`|Show project details|
|`gcloud config get-value project`|Get current project|
|`gcloud config configurations list`|List configurations|
|`gcloud config configurations create CONFIG_NAME`|Create configuration|
|`gcloud config configurations activate CONFIG_NAME`|Activate configuration|
## Motore di calcolo
### Gestione del sistema
|Command|Description|
|---------|-------------|
|`gcloud compute instances list`|List all instances|
|`gcloud compute instances create INSTANCE_NAME --machine-type=e2-medium --image-family=ubuntu-2004-lts --image-project=ubuntu-os-cloud`|Create instance|
|`gcloud compute instances start INSTANCE_NAME`|Start instance|
|`gcloud compute instances stop INSTANCE_NAME`|Stop instance|
|`gcloud compute instances delete INSTANCE_NAME`|Delete instance|
|`gcloud compute instances reset INSTANCE_NAME`|Reset instance|
|`gcloud compute instances describe INSTANCE_NAME`|Show instance details|
### SSH e accesso remoto
|Command|Description|
|---------|-------------|
|`gcloud compute ssh INSTANCE_NAME`|SSH into instance|
|`gcloud compute ssh INSTANCE_NAME --zone=ZONE`|SSH with specific zone|
|`gcloud compute scp LOCAL_FILE INSTANCE_NAME:REMOTE_PATH`|Copy file to instance|
|`gcloud compute scp INSTANCE_NAME:REMOTE_PATH LOCAL_FILE`|Copy file from instance|
|`gcloud compute os-login ssh-keys add --key-file=KEY_FILE`|Add SSH key|
### Tipi e immagini della macchina
|Command|Description|
|---------|-------------|
|`gcloud compute machine-types list`|List machine types|
|`gcloud compute machine-types list --filter="zone:us-central1-a"`|List machine types by zone|
|`gcloud compute images list`|List all images|
|`gcloud compute images list --filter="family:ubuntu-2004-lts"`|List images by family|
|`gcloud compute images create IMAGE_NAME --source-disk=DISK_NAME`|Create custom image|
### Disco
|Command|Description|
|---------|-------------|
|`gcloud compute disks list`|List all disks|
|`gcloud compute disks create DISK_NAME --size=100GB`|Create disk|
|`gcloud compute disks delete DISK_NAME`|Delete disk|
|`gcloud compute disks snapshot DISK_NAME --snapshot-names=SNAPSHOT_NAME`|Create snapshot|
|`gcloud compute instances attach-disk INSTANCE_NAME --disk=DISK_NAME`|Attach disk|
|`gcloud compute instances detach-disk INSTANCE_NAME --disk=DISK_NAME`|Detach disk|
## Stoccaggio cloud
### Operazioni di secchio
|Command|Description|
|---------|-------------|
|`gsutil ls`|List all buckets|
|`gsutil mb gs://BUCKET_NAME`|Create bucket|
|`gsutil rb gs://BUCKET_NAME`|Remove empty bucket|
|`gsutil rm -r gs://BUCKET_NAME`|Remove bucket and contents|
|`gsutil ls gs://BUCKET_NAME`|List objects in bucket|
|`gsutil ls -l gs://BUCKET_NAME`|List objects with details|
### Operazioni di file
|Command|Description|
|---------|-------------|
|`gsutil cp FILE gs://BUCKET_NAME/`|Upload file|
|`gsutil cp gs://BUCKET_NAME/FILE .`|Download file|
|`gsutil cp -r DIRECTORY gs://BUCKET_NAME/`|Upload directory|
|`gsutil rsync -r LOCAL_DIR gs://BUCKET_NAME/`|Sync directory|
|`gsutil rm gs://BUCKET_NAME/FILE`|Delete file|
|`gsutil rm -r gs://BUCKET_NAME/DIRECTORY`|Delete directory|
### Configurazione dei secchi
|Command|Description|
|---------|-------------|
|`gsutil versioning set on gs://BUCKET_NAME`|Enable versioning|
|`gsutil versioning get gs://BUCKET_NAME`|Check versioning status|
|`gsutil lifecycle set LIFECYCLE_CONFIG gs://BUCKET_NAME`|Set lifecycle policy|
|`gsutil cors set CORS_CONFIG gs://BUCKET_NAME`|Set CORS policy|
|`gsutil iam get gs://BUCKET_NAME`|Get bucket IAM policy|
|`gsutil iam set POLICY_FILE gs://BUCKET_NAME`|Set bucket IAM policy|
## Google Kubernetes Engine (GKE)
### Gestione cluster
|Command|Description|
|---------|-------------|
|`gcloud container clusters list`|List all clusters|
|`gcloud container clusters create CLUSTER_NAME --num-nodes=3`|Create cluster|
|`gcloud container clusters delete CLUSTER_NAME`|Delete cluster|
|`gcloud container clusters get-credentials CLUSTER_NAME`|Get cluster credentials|
|`gcloud container clusters resize CLUSTER_NAME --num-nodes=5`|Resize cluster|
|`gcloud container clusters upgrade CLUSTER_NAME`|Upgrade cluster|
### Piscine di nodo
|Command|Description|
|---------|-------------|
|`gcloud container node-pools list --cluster=CLUSTER_NAME`|List node pools|
|`gcloud container node-pools create POOL_NAME --cluster=CLUSTER_NAME --num-nodes=2`|Create node pool|
|`gcloud container node-pools delete POOL_NAME --cluster=CLUSTER_NAME`|Delete node pool|
|`gcloud container node-pools describe POOL_NAME --cluster=CLUSTER_NAME`|Describe node pool|
### Operazioni di cluster
|Command|Description|
|---------|-------------|
|`kubectl get nodes`|List cluster nodes|
|`kubectl get pods --all-namespaces`|List all pods|
|`kubectl apply -f MANIFEST_FILE`|Apply Kubernetes manifest|
|`kubectl delete -f MANIFEST_FILE`|Delete resources from manifest|
## Funzioni cloud
### Gestione delle funzioni
|Command|Description|
|---------|-------------|
|`gcloud functions list`|List all functions|
|`gcloud functions deploy FUNCTION_NAME --runtime=python39 --trigger-http`|Deploy HTTP function|
|`gcloud functions deploy FUNCTION_NAME --runtime=nodejs14 --trigger-topic=TOPIC_NAME`|Deploy Pub/Sub function|
|`gcloud functions delete FUNCTION_NAME`|Delete function|
|`gcloud functions describe FUNCTION_NAME`|Show function details|
|`gcloud functions call FUNCTION_NAME`|Call function|
### Log funzione
|Command|Description|
|---------|-------------|
|`gcloud functions logs read FUNCTION_NAME`|Read function logs|
|`gcloud functions logs read FUNCTION_NAME --limit=50`|Read recent logs|
|`gcloud functions logs read FUNCTION_NAME --start-time=2023-01-01`|Read logs from date|
## Cloud SQL
### Gestione del sistema
|Command|Description|
|---------|-------------|
|`gcloud sql instances list`|List SQL instances|
|`gcloud sql instances create INSTANCE_NAME --database-version=MYSQL_8_0 --tier=db-f1-micro`|Create MySQL instance|
|`gcloud sql instances create INSTANCE_NAME --database-version=POSTGRES_13 --tier=db-f1-micro`|Create PostgreSQL instance|
|`gcloud sql instances delete INSTANCE_NAME`|Delete instance|
|`gcloud sql instances describe INSTANCE_NAME`|Show instance details|
|`gcloud sql instances restart INSTANCE_NAME`|Restart instance|
### Operazioni di database
|Command|Description|
|---------|-------------|
|`gcloud sql databases list --instance=INSTANCE_NAME`|List databases|
|`gcloud sql databases create DATABASE_NAME --instance=INSTANCE_NAME`|Create database|
|`gcloud sql databases delete DATABASE_NAME --instance=INSTANCE_NAME`|Delete database|
### Gestione utente
|Command|Description|
|---------|-------------|
|`gcloud sql users list --instance=INSTANCE_NAME`|List users|
|`gcloud sql users create USERNAME --instance=INSTANCE_NAME --password=PASSWORD`|Create user|
|`gcloud sql users delete USERNAME --instance=INSTANCE_NAME`|Delete user|
|`gcloud sql users set-password USERNAME --instance=INSTANCE_NAME --password=NEW_PASSWORD`|Change password|
### Backup
|Command|Description|
|---------|-------------|
|`gcloud sql backups list --instance=INSTANCE_NAME`|List backups|
|`gcloud sql backups create --instance=INSTANCE_NAME`|Create backup|
|`gcloud sql backups restore BACKUP_ID --restore-instance=INSTANCE_NAME`|Restore backup|
## Motore di App
### Gestione delle applicazioni
|Command|Description|
|---------|-------------|
|`gcloud app deploy`|Deploy application|
|`gcloud app deploy --version=VERSION_NAME`|Deploy specific version|
|`gcloud app browse`|Open application in browser|
|`gcloud app describe`|Show application details|
|`gcloud app versions list`|List application versions|
|`gcloud app versions delete VERSION_NAME`|Delete version|
### Gestione del traffico
|Command|Description|
|---------|-------------|
|`gcloud app services list`|List services|
|`gcloud app versions migrate VERSION_NAME`|Migrate traffic to version|
|`gcloud app services set-traffic --splits=VERSION1=0.5,VERSION2=0.5`|Split traffic|
### Logs
|Command|Description|
|---------|-------------|
|`gcloud app logs tail`|Stream application logs|
|`gcloud app logs read`|Read application logs|
|`gcloud app logs read --service=SERVICE_NAME`|Read service logs|
## Cloud Pub/Sub
### Argomenti
|Command|Description|
|---------|-------------|
|`gcloud pubsub topics list`|List topics|
|`gcloud pubsub topics create TOPIC_NAME`|Create topic|
|`gcloud pubsub topics delete TOPIC_NAME`|Delete topic|
|`gcloud pubsub topics describe TOPIC_NAME`|Show topic details|
|`gcloud pubsub topics publish TOPIC_NAME --message="Hello World"`|Publish message|
### Abbonamenti
|Command|Description|
|---------|-------------|
|`gcloud pubsub subscriptions list`|List subscriptions|
|`gcloud pubsub subscriptions create SUBSCRIPTION_NAME --topic=TOPIC_NAME`|Create subscription|
|`gcloud pubsub subscriptions delete SUBSCRIPTION_NAME`|Delete subscription|
|`gcloud pubsub subscriptions pull SUBSCRIPTION_NAME`|Pull messages|
|`gcloud pubsub subscriptions pull SUBSCRIPTION_NAME --auto-ack`|Pull and acknowledge|
## IAM (Identity and Access Management)
### Conti di servizio
|Command|Description|
|---------|-------------|
|`gcloud iam service-accounts list`|List service accounts|
|`gcloud iam service-accounts create SERVICE_ACCOUNT_NAME`|Create service account|
|`gcloud iam service-accounts delete SERVICE_ACCOUNT_EMAIL`|Delete service account|
|`gcloud iam service-accounts keys create KEY_FILE --iam-account=SERVICE_ACCOUNT_EMAIL`|Create service account key|
|`gcloud iam service-accounts keys list --iam-account=SERVICE_ACCOUNT_EMAIL`|List service account keys|
### Politiche IAM
|Command|Description|
|---------|-------------|
|`gcloud projects get-iam-policy PROJECT_ID`|Get project IAM policy|
|`gcloud projects add-iam-policy-binding PROJECT_ID --member=user:EMAIL --role=ROLE`|Add IAM binding|
|`gcloud projects remove-iam-policy-binding PROJECT_ID --member=user:EMAIL --role=ROLE`|Remove IAM binding|
|`gcloud iam roles list`|List predefined roles|
|`gcloud iam roles create ROLE_NAME --project=PROJECT_ID --file=ROLE_DEFINITION`|Create custom role|
## Cloud Build
### Gestione della costruzione
|Command|Description|
|---------|-------------|
|`gcloud builds list`|List builds|
|`gcloud builds submit --tag gcr.io/PROJECT_ID/IMAGE_NAME`|Build and push image|
|`gcloud builds submit --config=cloudbuild.yaml`|Build with config file|
|`gcloud builds describe BUILD_ID`|Show build details|
|`gcloud builds cancel BUILD_ID`|Cancel build|
### Triggers
|Command|Description|
|---------|-------------|
|`gcloud builds triggers list`|List build triggers|
|`gcloud builds triggers create github --repo-name=REPO_NAME --repo-owner=OWNER --branch-pattern=main`|Create GitHub trigger|
|`gcloud builds triggers delete TRIGGER_ID`|Delete trigger|
|`gcloud builds triggers run TRIGGER_NAME`|Run trigger manually|
## Networking
### VPC Reti
|Command|Description|
|---------|-------------|
|`gcloud compute networks list`|List VPC networks|
|`gcloud compute networks create NETWORK_NAME --subnet-mode=custom`|Create custom VPC|
|`gcloud compute networks delete NETWORK_NAME`|Delete VPC network|
|`gcloud compute networks subnets list`|List subnets|
|`gcloud compute networks subnets create SUBNET_NAME --network=NETWORK_NAME --range=10.0.0.0/24`|Create subnet|
### Regole del firewall
|Command|Description|
|---------|-------------|
|`gcloud compute firewall-rules list`|List firewall rules|
|`gcloud compute firewall-rules create RULE_NAME --allow tcp:80,tcp:443 --source-ranges 0.0.0.0/0`|Create firewall rule|
|`gcloud compute firewall-rules delete RULE_NAME`|Delete firewall rule|
|`gcloud compute firewall-rules describe RULE_NAME`|Show firewall rule details|
### Equilibrio del carico
|Command|Description|
|---------|-------------|
|`gcloud compute url-maps list`|List URL maps|
|`gcloud compute backend-services list`|List backend services|
|`gcloud compute target-http-proxies list`|List HTTP proxies|
|`gcloud compute forwarding-rules list`|List forwarding rules|
## Monitoraggio e registrazione
### Registrazione cloud
|Command|Description|
|---------|-------------|
|`gcloud logging logs list`|List available logs|
|`gcloud logging read "resource.type=gce_instance"`|Read logs by resource|
|`gcloud logging read "timestamp>=2023-01-01T00:00:00Z"`|Read logs by time|
|`gcloud logging sinks list`|List log sinks|
|`gcloud logging sinks create SINK_NAME DESTINATION --log-filter=FILTER`|Create log sink|
### Monitoraggio cloud
|Command|Description|
|---------|-------------|
|`gcloud alpha monitoring policies list`|List alerting policies|
|`gcloud alpha monitoring channels list`|List notification channels|
## Migliori Pratiche
### Sicurezza
1. **Conti di servizio**: Utilizzare account di servizio per le applicazioni
2. **IAM Principi**: Seguire il principio di minimo privilegio
3. **VPC Sicurezza**: Utilizzare subnet e regole firewall private
4. **Secret Management**: Utilizzare Secret Manager per i dati sensibili
### Ottimizzazione dei costi
1. **Etichette di risorse**: Risorse dell'etichetta per il monitoraggio dei costi
2. **Inserimenti preesistenti**: Utilizzare VM preemptible per carichi di lavoro in batch
3. **Commesso Utilizzare**: Utilizzare sconti d'uso impegnati per i carichi di lavoro prevedibili
4. **Auto-scaling**: Configurazione automatica per carichi di lavoro dinamici
### Automazione
1. **Infrastruttura come Codice**: Utilizzare Deployment Manager o Terraform
2. **CI/CD**: Usa Cloud Build per l'integrazione continua
3. #Monitoring # Impostare il monitoraggio completo e l'avviso
4. ** Strategia di backup**: implementare strategie di backup automatizzate