Google Cloud Platform 基础:项目与命令行

FreeGuideOnline 最新 2026-06-30

bash curl https://sdk.cloud.google.com | bash


安装完成后重启终端,或执行 `exec -l $SHELL` 使路径生效。然后运行初始化命令:

```bash
gcloud init

初始化与认证

gcloud init 会引导你完成以下步骤:

  1. 登录 Google 账号并进行 OAuth 认证。
  2. 选择一个默认项目(可跳过,后续指定)。
  3. 配置默认的 Compute Engine 区域和可用区(例如 us-central1-a),这样后续创建资源时就不必每次输入。

你随时可以用以下命令重新认证或更改配置:

gcloud auth login               # 重新登录
gcloud config set project PROJECT_ID   # 切换默认项目
gcloud config list               # 查看所有配置

基本命令:项目操作

日常使用中,项目相关的命令非常高频,掌握它们可以快速在生产环境中定位问题。

列出你有权限访问的所有项目:

gcloud projects list

查看当前默认项目:

gcloud config get-value project

创建新项目:

gcloud projects create PROJECT_ID --name="显示名称"

注意:只有拥有 resourcemanager.projects.create 权限的账号才能创建项目,且需要关联结算账号。如果未通过命令行关联,可在 Cloud Console 中完成。

删除项目:

gcloud projects delete PROJECT_ID

删除操作会先标记项目为删除申请状态,相关资源会被逐步关闭,通常有 30 天的恢复期。

获取项目完整信息:

gcloud projects describe PROJECT_ID

输出会展示项目编号、生命周期状态、父组织等细节。

在命令中临时指定项目:

大多数 gcloud 命令都接受 --project 参数,例如:

gcloud compute instances list --project=another-project

这样即使不切换默认项目,也能跨项目操作资源。

实战演练:从创建到管理

让我们通过一个完整流程串联所有知识点。假设你想为个人博客搭建开发环境。

1. 创建项目

gcloud projects create blog-dev-2025 --name="Blog开发环境"

如果账号下已有结算账户,系统会提示关联;若无,可稍后前往控制台绑定。否则项目内的非免费资源无法使用。

2. 设为默认项目

gcloud config set project blog-dev-2025

3. 启用必要的 API

应用需要 Cloud Run 和 Cloud SQL,提前启用服务:

gcloud services enable run.googleapis.com sqladmin.googleapis.com

4. 创建服务账号供 CI/CD 使用

gcloud iam service-accounts create blog-deployer \
    --display-name="博客部署账号"

5. 授予权限

最小化权限原则,只给部署所需的角色:

gcloud projects add-iam-policy-binding blog-dev-2025 \
    --member="serviceAccount:blog-deployer@blog-dev-2025.iam.gserviceaccount.com" \
    --role="roles/run.admin"

6. 查看项目资源汇总

当不确定名下有哪些虚拟机或存储桶时,可通过 Cloud Asset Inventory 或直接按服务列出。例如查看所有 Compute Engine 实例:

gcloud compute instances list

如果返回空,说明尚未创建任何实例,符合预期。

最佳实践与权限管理

1. 使用组织节点归纳项目

如果你通过 Google Workspace 或 Cloud Identity 管理公司账户,可以将项目放入文件夹和组织的层级结构中。这样可以在组织层面统一设置约束策略,管控所有项目。

2. 善用 IAM 与最小权限

永远不要直接给个人账户过大的角色。推荐使用“预定义角色”赋予特定服务的权限,比如 roles/viewer(只读)、roles/editor(读写)或自定义角色。项目级别的 IAM 绑定命令已在上节演示。

3. 开启结算预警

在结算账户设置中创建预算和提醒,避免意外费用。例如当月费用超过 $50 时发送邮件。这与项目创建是独立步骤,但对实际使用至关重要。

4. 标记资源

为资源添加标签(Labels),方便在账单中细分。例如添加 environment:dev 标签,就能在费用报告中按环境筛选。创建虚拟机时即可附加:

gcloud compute instances create my-vm \
    --labels=env=dev,team=frontend