cloud sdk文档
1. Google Cloud SDK是什么?
- Cloud SDK 是一套适用于 Cloud Platform 的工具,其中包含 gcloud、gsutil 和 bq,可用于从命令行访问 Google Compute Engine、Google Cloud Storage、Google BigQuery 以及其他产品和服务。这些工具既能以交互方式使用,也可以在自动化脚本中运行。
2. 主要功能
2.1 管理虚拟机实例
- 利用 gcloud,您可以方便地管理您在 Compute Engine 上的虚拟机群,包括创建、启动和管理虚拟机实例,并可使用您自己的虚拟机映像。您还可以使用 gcloud 通过 SSH 连接到您的实例。
2.2 网络、防火墙、磁盘存储及更多
- 您可以使用 gcloud 管理 Compute Engine 网络、防火墙、磁盘存储及更多设施,而无需使用 Cloud Platform 控制台。使用 gcloud 时,只需敲几下键盘即可轻松管理 Compute Engine 环境的配置。
2.3 使用您偏好的语言
- 您可以从相应的软件包管理器安装 Java、Python、NodeJS、Ruby、Go、.NET和 PHP 版的客户端库。
2.4 运行本地服务模拟器
- 适用于 Google Cloud Pub/Sub 和 Google Cloud Datastore 的 Cloud SDK 模拟器可用于在您的环境中模拟这些服务,以进行本地开发、测试和验证。您可以使用 gcloud 工具启动和管理服务模拟器。
3. 系统设计
3.1 多语言支持
- 支持Java、Python、NodeJS、Ruby、Go、.NET和 PHP 等多种语言;
3.2 权限系统(身份验证)
-
想要使用Cloud SDK工具,需要首先进行授权;
-
服务账号:服务账号是一种代表应用(而不是代表最终用户)的 Google 账号。
- 要使用服务账号,可以通过向您的应用提供一个服务账号密钥。或者,您可以在使用 Google Cloud Functions、Google App Engine、Google Compute Engine 或 Google Kubernetes Engine 时使用可用的内置服务帐号。
- 建议使用服务帐号来为 Cloud SDK 工具编写脚本,以便在多台机器上使用。
- 是否可以理解为在多台机器上使用Cloud SDK编写的脚本时,如果使用用户账号可能会泄露用户账号。一个服务账号可对应多个用户。
-
用户账号:当应用需要代表最终用户访问资源时,您可以直接向应用验证用户的身份。当应用需要访问某一用户私有资源或项目,需要使用用户账号授权。
-
您的应用需要访问的 Google BigQuery 数据集位于应用用户所拥有的项目中。
-
您的应用使用 Cloud Resource Manager API 等 API,此类 API 可以创建和管理特定用户所拥有的项目。应用将需要以用户身份进行身份验证,从而代表用户创建项目。
-
在大多数常见用例中,特别是通过命令行以交互方式使用 Cloud SDK 工具时,最佳做法是使用用户账号。
-
3.3 配置、属性系统
-
属性是可管理 gcloud 和其他 SDK 工具的行为的设置。
-
配置是一组指定的 SDK 属性。这些属性是控制 gcloud 命令行工具和其他 SDK 工具行为的键值对。如果有多个配置,可以选择在各个配置之间切换,或者使用特定配置运行命令。
-
配置中存储的常见属性包括默认 Google Compute Engine 地区、详尽程度、使用情况报告、项目 ID,以及活动用户或服务账号。您可以通过配置,将这些及其他设置作为一个组进行定义并启用。
-
使用多个配置的场景:
- 使用多个项目:可以为每个项目创建一个单独的配置,并根据需要在它们之间切换。
- 使用多个授权账号。
- 执行通常具有独立性的任务:例如,可以在一个项目中使用一种配置来处理 Google App Engine 应用,并在另一个项目中使用另一种配置来管理不相关的 Compute Engine 实例。
3.4 组件管理系统
- 组件是 SDK 的可安装部分。系统会默认安装最常用的组件。用户可以安装、更新和移除 Google Cloud SDK 组件。
- 参考文档:https://cloud.google.com/sdk/docs/components
3.5 交互式shell
- 交互式 shell 提供更丰富的 bash 体验,通过输入时自动补全功能和帮助文本片段简化了命令和文档发现。
- 参考文档:https://cloud.google.com/sdk/docs/interactive-gcloud
3.6 消息订阅系统(Cloud Pub/Sub)
-
发布者应用在 Cloud Pub/Sub 服务中创建一个主题,并向该主题发送消息。消息包含负载和描述负载内容的可选属性。
-
消息会持久保存在消息存储空间中,直到已传送并由订阅者确认。
-
Pub/Sub 服务将某主题的消息分别转发至其所有订阅。每个订阅通过以下方式接收消息:Pub/Sub 将消息推送到订阅者的所选端点,或订阅者从服务中拉取消息。
-
订阅者从其订阅接收待处理消息,并向 Pub/Sub 服务确认每条消息(返回ack)。
-
订阅者确认消息后,该消息将从相应订阅的消息队列中移除。
- image.png
3.8 监控系统
- Google需要根据某些API的使用情况进行收费,所以API的监控是必须的。
- 可以启用或停用某些API。
- 可以监控某些 API 的详细信息,包括流量级别、错误率甚至延迟。
- 可以限制API使用量上限。可以通过多种方式明确限制请求(具体取决于 API),包括:每天请求数、每 100 秒请求数和每个用户每 100 秒请求数。
- 参考文档:https://cloud.google.com/apis/docs/monitoring
3.9 Cloud API设计指南
- 可能有一些值得借鉴的东西,等待从文档中捞出来。
- 参考文档:https://cloud.google.com/apis/design/
网友评论