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

已完成

作为 Contoso Corporation 的 IT 管理员,你经常会随时待命以执行管理任务,并解决组织 Azure 订阅中资源的工作负载中断问题。 在你周末轮值期间看望家人时,开发团队通知你 Azure 虚拟机 (VM) 出现了问题。 在计划性维护期间,因 VM 上运行的应用程序升级而导致该 VM 无响应。 由于开发人员无权访问底层 Azure 虚拟机托管基础结构,他们只能在 VM 正常运行时远程访问 VM。 因此,公司来电要求你诊断并修正问题。

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

访问 Cloud Shell

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

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

有关如何在 Cloud Shell 会话中选择命令行体验的屏幕截图。

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

有关如何使用 Cloud Shell 管理 Azure 资源的屏幕截图。

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

访问自己的脚本和文件

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

有关如何在 Cloud Shell 会话中访问 CloudDrive 的屏幕截图。

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

有关如何在 CloudDrive 中管理文件的屏幕截图。

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

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

code temp.txt

有关如何访问 Cloud Shell 编辑器模式的屏幕截图。

注意

code 命令只能在 Cloud Shell 中以经典模式运行。 若要启用经典模式,请选择“更多”(...) 图标,然后选择“设置”“转到经典版本”>

Cloud Shell 工具

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

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

类别 名称
Linux 工具 bash
zsh
sh
tmux
dig
Azure 工具 Azure CLI
AzCopy
Azure Functions 命令行界面 (CLI)
Service Fabric CLI
Batch Shipyard
blobxfer
文本编辑器 代码(Cloud Shell 编辑器)
vim
nano
emacs
源代码管理 git
生成工具 make
行家
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