<< All versions
Skill v1.0.0
currentAutomated scan100/100chaterm/terminal-skills/gcloud
──Details
PublishedOctober 14, 2026 at 07:18 PM
Content Hashsha256:30716273fb5ebd8a...
Git SHA464c2954287a
──Files
Files (1 file, 6.0 KB)
SKILL.md6.0 KBactive
SKILL.md · 296 lines · 6.0 KB
name: gcloud description: Google Cloud CLI 操作 version: 1.0.0 author: terminal-skills tags: [cloud, gcp, gcloud, gke, compute]
Google Cloud CLI 操作
概述
GCP 资源管理、GKE、Cloud Functions 等技能。
配置与认证
bash
# 初始化配置gcloud init# 登录gcloud auth logingcloud auth application-default login # 应用默认凭证# 服务账号认证gcloud auth activate-service-account --key-file=key.json# 查看配置gcloud config listgcloud config configurations list# 设置项目gcloud config set project my-project# 设置区域gcloud config set compute/region us-central1gcloud config set compute/zone us-central1-a# 创建配置gcloud config configurations create my-configgcloud config configurations activate my-config
Compute Engine
实例管理
bash
# 列出实例gcloud compute instances list# 创建实例gcloud compute instances create my-instance \--zone=us-central1-a \--machine-type=e2-medium \--image-family=ubuntu-2204-lts \--image-project=ubuntu-os-cloud \--boot-disk-size=50GB# 启动/停止实例gcloud compute instances start my-instance --zone=us-central1-agcloud compute instances stop my-instance --zone=us-central1-a# 删除实例gcloud compute instances delete my-instance --zone=us-central1-a# SSH 连接gcloud compute ssh my-instance --zone=us-central1-a# 执行命令gcloud compute ssh my-instance --zone=us-central1-a --command="uptime"
磁盘管理
bash
# 列出磁盘gcloud compute disks list# 创建磁盘gcloud compute disks create my-disk \--zone=us-central1-a \--size=100GB \--type=pd-ssd# 附加磁盘gcloud compute instances attach-disk my-instance \--disk=my-disk \--zone=us-central1-a# 创建快照gcloud compute disks snapshot my-disk \--zone=us-central1-a \--snapshot-names=my-snapshot
防火墙
bash
# 列出防火墙规则gcloud compute firewall-rules list# 创建规则gcloud compute firewall-rules create allow-http \--allow=tcp:80 \--source-ranges=0.0.0.0/0 \--target-tags=http-server# 删除规则gcloud compute firewall-rules delete allow-http
Cloud Storage
bash
# 列出桶gsutil ls# 创建桶gsutil mb gs://my-bucketgsutil mb -l us-central1 gs://my-bucket# 上传文件gsutil cp file.txt gs://my-bucket/gsutil cp -r ./dir gs://my-bucket/# 下载文件gsutil cp gs://my-bucket/file.txt ./gsutil cp -r gs://my-bucket/dir ./# 同步目录gsutil rsync -r ./local-dir gs://my-bucket/prefix/gsutil rsync -d -r ./local-dir gs://my-bucket/prefix/ # 删除多余文件# 删除gsutil rm gs://my-bucket/file.txtgsutil rm -r gs://my-bucket/dir/# 删除桶gsutil rb gs://my-bucket# 设置公开访问gsutil acl ch -u AllUsers:R gs://my-bucket/file.txt# 生成签名 URLgsutil signurl -d 1h key.json gs://my-bucket/file.txt
GKE 集群
bash
# 列出集群gcloud container clusters list# 创建集群gcloud container clusters create my-cluster \--zone=us-central1-a \--num-nodes=3 \--machine-type=e2-medium# 获取凭证gcloud container clusters get-credentials my-cluster --zone=us-central1-a# 调整节点数gcloud container clusters resize my-cluster \--zone=us-central1-a \--num-nodes=5# 升级集群gcloud container clusters upgrade my-cluster \--zone=us-central1-a \--master# 删除集群gcloud container clusters delete my-cluster --zone=us-central1-a
Cloud Functions
bash
# 列出函数gcloud functions list# 部署函数gcloud functions deploy my-function \--runtime=nodejs18 \--trigger-http \--allow-unauthenticated \--entry-point=handler \--source=./# 调用函数gcloud functions call my-function --data='{"name":"World"}'# 查看日志gcloud functions logs read my-function# 删除函数gcloud functions delete my-function
Cloud Run
bash
# 部署服务gcloud run deploy my-service \--image=gcr.io/my-project/my-image \--platform=managed \--region=us-central1 \--allow-unauthenticated# 列出服务gcloud run services list# 查看服务gcloud run services describe my-service --region=us-central1# 更新服务gcloud run services update my-service \--region=us-central1 \--memory=512Mi \--concurrency=80# 删除服务gcloud run services delete my-service --region=us-central1
IAM 管理
bash
# 列出服务账号gcloud iam service-accounts list# 创建服务账号gcloud iam service-accounts create my-sa \--display-name="My Service Account"# 创建密钥gcloud iam service-accounts keys create key.json \--iam-account=my-sa@my-project.iam.gserviceaccount.com# 添加角色gcloud projects add-iam-policy-binding my-project \--member="serviceAccount:my-sa@my-project.iam.gserviceaccount.com" \--role="roles/storage.admin"# 查看 IAM 策略gcloud projects get-iam-policy my-project
常见场景
场景 1:批量操作实例
bash
# 停止所有实例gcloud compute instances list --format="value(name,zone)" | \while read name zone; dogcloud compute instances stop "$name" --zone="$zone" --asyncdone
场景 2:日志查询
bash
# 查看日志gcloud logging read "resource.type=gce_instance" --limit=100# 按时间范围gcloud logging read "timestamp>=\"2024-01-01T00:00:00Z\"" --limit=100# 按严重级别gcloud logging read "severity>=ERROR" --limit=100
场景 3:导出计费数据
bash
# 设置计费导出gcloud beta billing accounts describe BILLING_ACCOUNT_ID# 查看预算gcloud billing budgets list --billing-account=BILLING_ACCOUNT_ID
故障排查
| 问题 | 排查方法 | |
|---|---|---|
| 认证失败 | gcloud auth list | |
| 权限不足 | 检查 IAM 角色 | |
| 配额超限 | gcloud compute project-info describe | |
| API 未启用 | gcloud services enable compute.googleapis.com |
bash
# 调试模式gcloud compute instances list --verbosity=debug# 查看帮助gcloud helpgcloud compute instances create --help