配置 Cloud Shell

本页介绍了配置 Cloud Shell 以自定义您的体验的方法。

Cloud Shell 主目录中的配置文件

Cloud Shell 免费提供 5 GB 的永久性磁盘存储空间,装载为您的 $HOME 目录。您存储在主目录中的所有文件(包括安装的软件、脚本以及 .bashrc.vimrc 等用户配置文件)在不同会话之间保持不变。由于 .bashrc 在各个会话中均持久保存,因此这是自定义 Cloud Shell 行为的好方法。同样,如需使安装保持不变,您可以将软件包安装到主目录中。

预先配置的环境变量

启动 Cloud Shell 后,Cloud Shell 中正在进行的项目将传播到 Cloud Shell 内的 gcloud 配置,以便立即使用。应用默认凭据库用于支持定义项目 ID 的环境变量 GOOGLE_CLOUD_PROJECT,也被设置为指向 Cloud Shell 中的活动项目。

CLOUD_SHELL 环境变量设置为 true。您可以从应用中检查此变量,以确定应用是否正在 Cloud Shell 中运行。

gcloud CLI 偏好设置

使用 Cloud Shell 时,您的 gcloud CLI 偏好设置会存储在临时 tmp 文件夹中,且仅适用于当前标签页,并且在各会话之间不会保留。

如需保留 gcloud CLI 配置,您可以使用以下方法之一进行设置:

  • 如需确保可自定义每个标签页的 gcloud CLI 配置,但同时可自定义默认配置本身,您可以将 gcloud 配置命令(例如 gcloud config set compute/region us-central1 以设置默认区域)添加到 $HOME/.bashrc 文件的末尾。

    这样可确保每个新标签页都继承您的 Google Cloud 控制台项目和自定义的默认配置,但同时您也可以进一步自定义各个标签页的配置。

  • 如需始终使用相同的 gcloud CLI 配置,请将 export CLOUDSDK_CONFIG=$HOME/.config/gcloud 添加到 .bashrc 文件的末尾,然后运行 gcloud config configurations create CONFIG_NAME 创建要使用的配置。

通用属性

要设置您想要处理的项目,请运行以下命令:

gcloud config set project [PROJECT_NAME]

命令提示符会更新以反映您当前活动的项目,采用以下格式:[USERNAME]@cloudshell:~ ([PROJECT_NAME])$

要选择您偏好的区域,请运行:

gcloud config set compute/region us-east1

上面的命令是您可以设置的 gcloud CLI 配置示例;如需查看有关设置属性的完整列表和更多详情,请参阅 gcloud CLI 属性指南

环境自定义

借助环境自定义,您可以在启动时将其他软件包安装到 Cloud Shell 环境中。

环境自定义脚本

当启动您的实例时,Cloud Shell 会自动运行脚本 $HOME/.customize_environment。与 .profile.bashrc 不同,启动 Cloud Shell 时,此脚本便会运行一次(而不是每次登录 shell 时运行一次)。

该脚本以根用户身份运行,您可以使用 Debian 软件包管理命令安装您希望在每个 Cloud Shell 会话中存在的任何软件包。

例如,如果您想在 Cloud Shell 上安装 erlang,则 .customize_environment 文件将如下所示:

#!/bin/sh
apt-get update
apt-get -y install erlang

/var/log/customize_environment 中显示有 .customize_environment 脚本的执行日志。.customize_environment 脚本作为后台进程运行,且在成功执行后,将联系 /google/devshell/customize_environment_done。由于软件包安装是与登录同时进行的,因此在出现登录提示后不久,您就可以使用已安装的软件包。

使用指定的用户账号打开 Cloud Shell

借助 authuser 参数,您可以指定要与 Cloud Shell 搭配使用的用户账号。您必须使用指定的用户账号登录。如果您未登录指定的账号,Cloud Shell 会使用默认的已登录账号打开。例如,您可以使用网址 shell.cloud.google.com?authuser=client1@example.com 打开 Cloud Shell,并以 client1@example.com 的身份登录。

容器映像自定义

借助容器映像自定义功能,您可以使用指定的其他软件包和自定义配置创建用作自定义 Cloud Shell 环境的 Docker 映像。您的 Docker 映像必须基于 Cloud Shell 基础映像,并托管在 Container Registry 中。

如需详细了解如何创建自定义容器映像,请参阅自定义容器映像指南

与环境自定义不同,容器映像自定义不会影响您的默认 Cloud Shell 体验。您可以通过在 Cloud Shell 中打开链接使用和共享您的自定义映像。

tmux 支持

Cloud Shell 使用 tmux,这可以提高跨浏览器标签页的会话的持久性。例如,如果您在标签页中刷新 Google Cloud 控制台或从其他计算机连接到您的 Cloud Shell,会话状态不会丢失。

Cloud Shell 支持默认的 tmux 组合键。例如,如果先按 Ctrl + b 然后按 %,则 tmux 会将当前会话窗口分成左窗格和右窗格,这对调试非常有用。

使用情况统计信息

Cloud Shell 会针对在 Cloud Shell 终端内部运行的命令,收集经过匿名处理的使用情况统计信息。系统仅收集 Cloud Shell 中预安装的命令的统计信息。这些指标将无法回溯到您的账号。

不会收集与任何个人身份信息有关的指标,例如传递给这些命令的参数

要随时更改指标收集偏好设置,请在设置菜单 设置按钮 中选择终端使用情况统计信息。您对“设置”菜单上的偏好设置所做的任何更改都会在下一个会话中生效。要启用或停用指标收集,请在进行更改后关闭标签页并打开另一个标签页。

注意:该设置与 gcloud 使用情况统计信息是分开的,后者在 Cloud Shell 中默认启用。

如需停用 gcloud CLI 指标收集,请在 Cloud Shell 会话中运行以下命令:

gcloud config set disable_usage_reporting true