Logo
Section 1 / 2

安装和配置 GCP SDK

本课介绍如何开始使用命令行界面(CLI)。

导入

安装和配置 GCP SDK

本课介绍如何开始使用命令行界面(CLI)。

安装 Google Cloud SDK

GCP 还提供了基于 SDK 的命令行界面(CLI)。相比图形用户界面(GUI)或网页控制台,CLI 提供了更强大的功能。事实上,某些任务无法通过网页完成,只能通过命令行实现。

接下来,我们来看如何安装并配置 Google Cloud CLI。

不使用 Docker 的安装方式

安装 SDK 有多种方法。推荐的做法是查阅官方文档,根据你的操作系统选择对应的安装方式。官方文档会持续更新,确保安装步骤准确有效。
如果你没有安装 Docker,并希望直接在操作系统上原生安装,可以参考对应操作系统的快速入门安装指南,按照步骤进行安装。

你也可以选择使用 Docker 版本的 SDK,这同样可行。由于 Docker 封装了所有依赖项,并可在各种系统上运行,因此它是最快捷的入门方式。但前提是你需要掌握 Docker 的基本使用方法。

使用 Docker 安装

  1. 使用以下命令从容器仓库拉取最新的 SDK 镜像:

docker pull gcr.io/google.com/cloudsdktool/cloud-sdk:latest

  1. 执行以下命令验证镜像是否正常:

docker run --rm gcr.io/google.com/cloudsdktool/cloud-sdk:latest gcloud version

输出结果类似如下内容:

1Google Cloud SDK 317.0.0 2alpha 2020.10.30 3app-engine-go 1.9.71 4app-engine-java 1.9.82 5app-engine-python 1.9.91 6app-engine-python-extras 1.9.91 7beta 2020.10.30 8bigtable 9bq 2.0.62 10cbt 0.9.0 11cloud-datastore-emulator 2.1.0 12cloud-firestore-emulator 1.11.9 13cloud-spanner-emulator 1.1.1 14core 2020.10.30 15datalab 20190610 16gsutil 4.54 17kubectl 1.16.13 18pubsub-emulator 0.1.2

就这样,仅需两个步骤即可通过 Docker 快速启动 SDK。

你也可以在本课结尾提供的临时终端中直接开始使用 gcloud。
输入 gcloud version 来确认安装成功。

配置 Cloud SDK

要开始使用 Cloud SDK,首先需要进行配置。使用 gcloud init 命令可完成 SDK 的初始设置。

Docker 环境下的 GCP SDK 配置

使用 Docker 时,状态和配置信息存储在 Docker 卷中。

  • 执行以下命令进行身份验证: docker run -ti --name gcloud-config gcr.io/google.com/cloudsdktool/cloud-sdk gcloud auth login

认证成功后,凭据将保存在名为 gcloud-config 的容器卷中。后续执行需要认证的 gcloud 命令时,必须挂载该卷。

  • 示例命令(查看配置): docker run --rm --volumes-from gcloud-config gcr.io/google.com/cloudsdktool/cloud-sdk gcloud config list

非 Docker 环境的配置

  • 如果你是直接安装 SDK 而未使用 Docker,请输入以下命令: gcloud init

该命令将引导你完成登录以及默认项目等初始配置。

1root@educative:/# gcloud init 2欢迎使用!此命令将引导你完成 gcloud 的配置。 3 4你的当前配置已设置为:[default] 5 6下次可使用以下标志跳过诊断: 7 gcloud init --skip-diagnostics 8 9网络诊断用于检测并修复本地网络连接问题。 10检查网络连接...已完成。 11连通性检查通过。 12网络诊断通过(1/1 检查项通过)。 13 14你必须登录才能继续。是否要登录 (Y/n)? Y 15 16请在浏览器中打开以下链接: 17 18 https://accounts.google.com/o/oauth2/auth?client_id=32555940559.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&scope=openid+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fappengine.admin+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcompute+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Faccounts.reauth&code_challenge=NURRInX6Sabjgx4hh4Ml5D6T5ppTnYLa2HL0h485R3s&code_challenge_method=S256&access_type=offline&response_type=code&prompt=select_account 19 20 21请输入验证码: )

如果你使用的是本地操作系统的 shell 或终端,gcloud 会自动打开默认浏览器要求登录;否则会提供一个链接,你需要手动在浏览器中打开并复制验证码回填到终端。

一旦验证码验证成功,你将以绑定的邮箱账号登录。随后命令将继续提示你配置默认项目和默认区域。

1你已登录为:[gcpcourseeducative@gmail.com]。 2 3请选择要使用的云项目: 4 [1] gcp-educative-project-cli 5 [2] gcp-headstart-educative-308308 6 [3] gcp-headstart-educative-unique 7 [4] mythical-geode-308208 8 [5] 创建新项目 9请输入数字选项或文本值(必须与列表项完全匹配): 2 10 11你的当前项目已设置为:[gcp-headstart-educative-308308]。 12 13是否要配置默认的计算区域和可用区?(Y/n)? Y 14 15你想将哪个 Google Compute Engine 可用区设为项目默认? 16当你操作 Compute Engine 资源时,若未通过命令行参数指定可用区,则将使用此默认值。 17 [1] us-east1-b 18 [2] us-east1-c 19 [3] us-east1-d 20 [4] us-east4-c 21 [5] us-east4-b 22 [6] us-east4-a 23 [7] us-central1-c 24 [8] us-central1-a 25 [9] us-central1-f 26 [10] us-central1-b 27 [11] us-west1-b 28 [12] us-west1-c 29 [13] us-west1-a 30 [14] europe-west4-a 31 [15] europe-west4-b 32 [16] europe-west4-c 33 [17] europe-west1-b 34 [18] europe-west1-d 35 [19] europe-west1-c 36 [20] europe-west3-c 37 [21] europe-west3-a 38 [22] europe-west3-b 39 [23] europe-west2-c 40 [24] europe-west2-b 41 [25] europe-west2-a 42 [26] asia-east1-b 43 [27] asia-east1-a 44 [28] asia-east1-c 45 [29] asia-southeast1-b 46 [30] asia-southeast1-a 47 [31] asia-southeast1-c 48 [32] asia-northeast1-b 49 [33] asia-northeast1-c 50 [34] asia-northeast1-a 51 [35] asia-south1-c 52 [36] asia-south1-b 53 [37] asia-south1-a 54 [38] australia-southeast1-b 55 [39] australia-southeast1-c 56 [40] australia-southeast1-a 57 [41] southamerica-east1-b 58 [42] southamerica-east1-c 59 [43] southamerica-east1-a 60 [44] asia-east2-a 61 [45] asia-east2-b 62 [46] asia-east2-c 63 [47] asia-northeast2-a 64 [48] asia-northeast2-b 65 [49] asia-northeast2-c 66 [50] asia-northeast3-a 67未显示 [27] 个选项。 68选项过多 [77]。可在提示符下输入 "list" 查看完整列表。 69请输入数字选项或文本值(必须与列表项完全匹配): 1 70 71你的项目默认 Compute Engine 可用区已设置为 [us-east1-b]。 72可通过运行 [gcloud config set compute/zone NAME] 修改。 73 74你的项目默认 Compute Engine 区域已设置为 [us-east1]。 75可通过运行 [gcloud config set compute/region NAME] 修改。 76 77已在 [/root/.boto] 创建默认的 .boto 配置文件。更多关于 Google Cloud Storage 配置的信息,请参见该文件及 78[https://cloud.google.com/storage/docs/gsutil/commands/config]。 79 80你的 Google Cloud SDK 已配置完毕,可以使用! 81 82* 需要认证的命令将默认使用 gcpcourseeducative@gmail.com 83* 命令将默认引用项目 `gcp-headstart-educative-308308` 84* Compute Engine 命令将默认使用区域 `us-east1` 85* Compute Engine 命令将默认使用可用区 `us-east1-b` 86 87运行 `gcloud help config` 学习如何修改各项设置。 88 89此 gcloud 配置称为 [default]。若你使用多个账户或项目,可创建额外的配置。 90运行 `gcloud topic configurations` 了解更多信息。 91 92接下来可以尝试: 93 94* 运行 `gcloud --help` 查看可交互的云平台服务;运行 `gcloud help COMMAND` 获取任意 gcloud 命令的帮助信息。 95* 运行 `gcloud topic --help` 了解 SDK 的高级功能,如参数文件和输出格式化等。 96root@educative:/#

在 Educative 交互式终端中运行

下方的交互式终端本身就是一个预装了 GCP SDK 的实例,你可以直接在此终端中执行上述命令。

注意:你看到的项目列表可能与示例不同。

Terminal

使用 Cloud Shell

还有一种无需安装即可使用 SDK 的方式:GCP 控制台内置了一个预装 Cloud SDK 的 Cloud Shell。只需点击右上角的终端图标即可启用。我们在之前的 IAM 实践课程中已经使用过这个 Cloud Shell。

一旦通过任意方式准备好 SDK 命令行环境,就可以尝试不同的 gcloud 命令。例如运行 gcloud info 查看 SDK 的详细信息。

接下来,我们将学习一些常用的 Cloud SDK 命令,例如设置默认项目、修改默认配置等,并了解 Cloud SDK 的命令结构。请多加练习 CLI 操作,然后进入下一课。

账单管理

Cloud SDK 命令结构与配置