配置 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 打开以 client1@example.com 身份登录的 Cloud Shell。

容器映像自定义

借助容器映像自定义功能,您可以使用指定的其他软件包和自定义配置创建用作自定义 Cloud Shell 环境的 Docker 映像。您的 Docker 映像必须基于 Cloud Shell 基础映像,并托管在 Artifact 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