Storage Services

Cloud Storage

# Create bucket
gsutil mb -l us-central1 gs://BUCKET_NAME
 
# List buckets
gsutil ls
 
# Copy files
gsutil cp LOCAL_FILE gs://BUCKET_NAME/
gsutil cp -r LOCAL_DIR gs://BUCKET_NAME/
 
# Sync directories
gsutil -m rsync -r LOCAL_DIR gs://BUCKET_NAME/
 
# Set bucket policy
gsutil iam ch user:[email protected]:objectViewer gs://BUCKET_NAME
 
# Enable versioning
gsutil versioning set on gs://BUCKET_NAME
 
# Configure lifecycle
gsutil lifecycle set lifecycle.json gs://BUCKET_NAME
 
# Set CORS
gsutil cors set cors.json gs://BUCKET_NAME
 
# Enable bucket logging
gsutil logging set on -b gs://LOG_BUCKET gs://BUCKET_NAME

Object Management

# List objects
gsutil ls gs://BUCKET_NAME/**
 
# Get object metadata
gsutil stat gs://BUCKET_NAME/OBJECT_NAME
 
# Set object ACL
gsutil acl set private gs://BUCKET_NAME/OBJECT_NAME
 
# Make object public
gsutil acl ch -u AllUsers:R gs://BUCKET_NAME/OBJECT_NAME
 
# Set object metadata
gsutil setmeta -h "Content-Type:application/json" gs://BUCKET_NAME/OBJECT_NAME

Database Services

Cloud SQL

# Create instance
gcloud sql instances create INSTANCE_NAME \
    --database-version=MYSQL_8_0 \
    --tier=db-f1-micro \
    --region=us-central1
 
# List instances
gcloud sql instances list
 
# Create database
gcloud sql databases create DATABASE_NAME \
    --instance=INSTANCE_NAME
 
# Create user
gcloud sql users create USERNAME \
    --instance=INSTANCE_NAME \
    --password=PASSWORD
 
# Connect to instance
gcloud sql connect INSTANCE_NAME --user=USERNAME
 
# Import database
gcloud sql import sql INSTANCE_NAME \
    gs://BUCKET_NAME/backup.sql \
    --database=DATABASE_NAME
 
# Export database
gcloud sql export sql INSTANCE_NAME \
    gs://BUCKET_NAME/backup.sql \
    --database=DATABASE_NAME

Cloud Spanner

# Create instance
gcloud spanner instances create INSTANCE_NAME \
    --config=regional-us-central1 \
    --description="Description" \
    --nodes=1
 
# Create database
gcloud spanner databases create DATABASE_NAME \
    --instance=INSTANCE_NAME
 
# Execute DDL
gcloud spanner databases ddl update DATABASE_NAME \
    --instance=INSTANCE_NAME \
    --ddl="CREATE TABLE table_name (...);"
 
# Query database
gcloud spanner databases execute-sql DATABASE_NAME \
    --instance=INSTANCE_NAME \
    --sql="SELECT * FROM table_name"

Networking

VPC Networks

# Create VPC
gcloud compute networks create VPC_NAME \
    --subnet-mode=custom
 
# Create subnet
gcloud compute networks subnets create SUBNET_NAME \
    --network=VPC_NAME \
    --region=us-central1 \
    --range=10.0.0.0/24
 
# List networks
gcloud compute networks list
 
# Create firewall rule
gcloud compute firewall-rules create RULE_NAME \
    --network=VPC_NAME \
    --allow=tcp:80,tcp:443 \
    --source-ranges=0.0.0.0/0
 
# Create VPC peering
gcloud compute networks peerings create PEERING_NAME \
    --network=VPC_NAME \
    --peer-project=PEER_PROJECT \
    --peer-network=PEER_VPC

Load Balancing

# Create health check
gcloud compute health-checks create http HEALTH_CHECK_NAME \
    --port=80
 
# Create backend service
gcloud compute backend-services create BACKEND_NAME \
    --protocol=HTTP \
    --health-checks=HEALTH_CHECK_NAME \
    --global
 
# Create URL map
gcloud compute url-maps create URL_MAP_NAME \
    --default-service=BACKEND_NAME
 
# Create target proxy
gcloud compute target-http-proxies create PROXY_NAME \
    --url-map=URL_MAP_NAME
 
# Create forwarding rule
gcloud compute forwarding-rules create RULE_NAME \
    --global \
    --target-http-proxy=PROXY_NAME \
    --ports=80

Kubernetes (GKE)

Cluster Management

# Create cluster
gcloud container clusters create CLUSTER_NAME \
    --num-nodes=3 \
    --machine-type=e2-medium \
    --zone=us-central1-a
 
# Get credentials
gcloud container clusters get-credentials CLUSTER_NAME \
    --zone=us-central1-a
 
# List clusters
gcloud container clusters list
 
# Resize cluster
gcloud container clusters resize CLUSTER_NAME \
    --num-nodes=5 \
    --zone=us-central1-a
 
# Update cluster
gcloud container clusters upgrade CLUSTER_NAME \
    --master --cluster-version=1.24 \
    --zone=us-central1-a

Node Pool Management

# Create node pool
gcloud container node-pools create POOL_NAME \
    --cluster=CLUSTER_NAME \
    --machine-type=e2-medium \
    --num-nodes=3
 
# List node pools
gcloud container node-pools list \
    --cluster=CLUSTER_NAME
 
# Update node pool
gcloud container node-pools update POOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-autoscaling \
    --min-nodes=1 \
    --max-nodes=5
 
# Delete node pool
gcloud container node-pools delete POOL_NAME \
    --cluster=CLUSTER_NAME