Azure Cloud Shell 的工作原理是什么?

已完成

作为 Contoso Corporation 的 IT 管理员,你经常会随时待命以执行管理任务,并解决组织 Azure 订阅中资源的工作负载中断问题。 当你在周末去拜访家庭成员时,开发团队通知你,在对运行在 VM 上的应用程序进行升级的计划性维护期间,Azure VM 失去了响应。 由于开发人员没有被授予访问基础 Azure 虚拟机托管基础结构的权限,并且只能在 VM 正常运行时远程访问它,因此需要你来诊断和修复问题。

由于你正在探亲,因此无权访问管理工作站和诊断脚本。 你可以使用带有 Internet 浏览器的笔记本电脑。 使用笔记本电脑,浏览到 Azure 门户,针对组织的 Azure 订阅进行身份验证,打开 Azure Cloud Shell,装载 Azure 文件共享,访问诊断脚本,诊断和修复 VM 的问题,使其恢复运行。

访问 Cloud Shell

有几种不同的选项可用于访问 Azure Cloud Shell:

打开 Cloud Shell 会话时,会为会话分配一个临时主机。 此 VM 预配置了最新版本的 PowerShell 和 Bash。 然后,可以选择要使用的命令行体验:

A screenshot of how to choose a command-line experience in a Cloud Shell session.

选择要使用的 shell 体验后,即可开始管理 Azure 资源:

A screenshot of how to use Cloud Shell to manage Azure resources.

Cloud Shell 会话在处于不活动状态 20 分钟后终止。 会话终止时,CloudDrive 上的文件将保留,但必须启动新会话才能访问 Cloud Shell 环境。

访问自己的脚本和文件

使用 Cloud Shell 时,可能还需要运行脚本,或使用文件执行不同的操作。 可以使用 Azure CloudDrive 在 Cloud Shell 上保存文件:

A screenshot of how to access CloudDrive in a Cloud Shell session.

上传文件后,可以像在常规 PowerShell 或 Bash 会话中一样与它们进行交互:

A screenshot of how to manage files in CloudDrive.

现在你的文件位于 CloudDrive 上,你可以关闭会话并在不同设备上打开另一个会话,但仍可以访问同一个文件。 Cloud Shell 还可用于映射与特定区域相关联的 Azure 存储文件共享。 通过访问 Azure 文件共享,可以通过 Cloud Shell 使用该共享的内容。

如果需要编辑托管在 CloudDrive 或文件共享上的脚本,可以使用 Cloud Shell 编辑器。 选择浏览器上的大括号 {} 图标并打开要编辑的文件,或使用命令 code 并指定文件名;例如:

code temp.txt

A screenshot of how to access the Cloud Shell editor mode.

Cloud Shell 工具

如果需要在 Cloud Shell 中管理资源(例如 Docker 容器或 Kubernetes 群集)或想要使用第三方工具(例如 Ansible 和 Terraform),Cloud Shell 会话附带了这些已预先配置的加载项。

以下是 Cloud Shell 会话中可供使用的所有加载项的列表:

类别 名称
Linux 工具 bash
zsh
sh
tmux
dig
Azure 工具 Azure CLI 和 Azure 经典 CLI
AzCopy
Azure Functions CLI
Service Fabric CLI
Batch Shipyard
blobxfer
文本编辑器 代码(Cloud Shell 编辑器)
vim
nano
emacs
源代码管理 git
生成工具 make
maven
npm
pip
容器 Docker 计算机
Kubectl
Helm
DC/OS CLI
数据库 MySQL 客户端
PostgreSql 客户端
sqlcmd 实用工具
mssql-scripter
其他 iPython 客户端
Cloud Foundry CLI
Terraform
Ansible
Chef InSpec
Puppet Bolt
HashiCorp Packer
Office 365 CLI