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