认识 Cloud Shell
云命令行(Cloud Shell)是网页版命令行工具。我们可以在任意浏览器上运行云命令行管理阿里云资源。在云命令行启动时会自动为我们分配一台 Linux 管理机,供我们免费使用。
在该虚拟机上会预装 CLI、Terraform 等多种云管理工具和 SSH、Vim、Jq 等系统工具,配合 Cloud Shell 提供的 Web IDE,辅助完成日常的云资源管理。
我们可以直接单独打开 Cloud Shell 页面,也可以在阿里云控制台内嵌式的使用,点击右上角的 Cloud Shell 图标,即可唤起 Cloud Shell,在控制台中一站式使用。
功能特性
可以通过 Cloud Shell 的教程 - 学习使用 Cloud Shell,交互式一站式的了解 Cloud Shell 的功能特性。
免费虚拟机并授权
当 Cloud Shell 运行时,会自动为我们创建一台 Linux 虚拟机,免费独享使用。当会话处于活跃状态时,实例长期有效。
Cloud Shell 实现了自动授权,我们无需额外操作即可使用命令行管理云资源,方便我们快速使用云命令行。每个登录帐号所拥有管理权限等同于其在 RAM 中被授予的操作权限。
同时,Cloud Shell 会对所有登录用户进行安全认证,并实现虚拟机按用户隔离,保证了运行环境的安全。
命令行访问
运行 help
了解详情
help
我们可以在 Cloud Shell 中使用阿里云 CLI 命令管理云资源,通过教程:使用 Aliyun CLI 来管理云资源,可以进一步学习使用阿里云 CLI。
除了常用工具的 CLI,同时 Cloud Shell 还提供了一些扩展功能:包括使用 CLI 来启动教程、下载文件、在编辑器中打开文件等。
我们可以在 Cloud Shell 中运行 cloudshell help
查看详细的帮助信息。
cloudshell help
永久性磁盘存储空间
Cloud Shell 可以绑定存储空间,为我们提供永久存储,作为我们在 Cloud Shell 实例上的 $HOME 目录。我们存储在主目录中的所有文件(包括脚本以及 .bashrc 和 .vimrc 等用户配置文件)在不同会话、实例之间保持不变。
通过工具栏上的存储图标,可以绑定或者解绑我们的存储空间。
代码编辑器
Cloud Shell 内置代码编辑器。我们可以通过点击工具栏上代码图标来打开代码编辑器。
我们可以使用代码编辑器浏览 $HOME
文件目录以及查看和编辑文件,同时依然可以继续使用 Cloud Shell。
通过 Cloud Shell 内置的 Web IDE,我们不需要关心开发环境的配置以及各种依赖工具的安装,可以直接在线开发,并通过命令行执行或者部署。同时通过 Cloud Shell 绑定存储空间,我们编辑的文件可以进行永久存储。
教程模式
Cloud Shell 支持构建和启动教程,这些教程可帮助其他用户快速而有效地熟悉我们自己的项目。
教程是一套用 Markdown 编写的说明。Cloud Shell 可以将 Markdown 文件中的文本解析为步骤和子步骤,从而创建出上下文教程。更多详细内容,可以参考编写 Cloud Shell 教程。
编写好教程后,我们可以将我们编写的教程 push 到 github 上,然后在需要的地方透出教程入口:
https://shell.aliyun.com/?action=git_open&git_repo=${git 地址}&tutorial=${教程文件 path}
比如可以在我们的 README.md 中增加【Try it in Cloud Shell按钮】
其中,跳转链接为:
<a href="https://shell.aliyun.com/?action=git_open&git_repo=${git 地址}&tutorial=${教程文件 path}" target="my_tutorial">
<img src="https://img.alicdn.com/tfs/TB1wt1zq9zqK1RjSZFpXXakSXXa-1066-166.png" width="180" />
</a>
可用工具
Cloud Shell 虚拟机实例预安装了以下工具:
类型 | 工具 |
---|---|
Linux 实用工具 | ping telnet dig 其他标准 Debian 系统实用工具 |
命令行工具 | bash vim Aliyun CLI fun fcli aliyunlog |
开发工具 | git python3 |
构建和打包工具 | Make npm pip |
编排工具 | Terraform |
容器工具 | kubectl helm |
其他工具 | MySQL 客户端 |
我们可以在虚拟机实例上安装其他软件包,但除非我们将软件安装到 $HOME
目录中并绑定了永久存储空间,否则在实例终止后安装的软件包将不会保留。
语言支持
Cloud Shell 虚拟机实例预安装了对以下语言的支持:
语言 | 版本 |
---|---|
Java | JRE/JDK 10 |
Go | 1.11 |
Python | 3.6.7 |
Nodejs | v8.10.0 |
PHP | 7.2.10 |
使用场景
目前 Cloud Shell 已经和容器控制台、SLS 控制台做了深度的集成。我们可以在容器控制台中通过 Cloud Shell 来管理容器,我们的 KubeCondig 的配置会自动的同步到 Cloud Shell,我们可以在 Cloud Shell 中直接管理容器而不需要进行额外的配置。
同时,在 SLS 控制台中,你可以选择通过 Cloud Shell 下载日志。Cloud Shell 中已经内置好了 SLS CLI 工具,我们可以一键完成日志的下载工作。
更多的使用场景,你可以参考开发者实验室,通过交互式的教程来学习和使用更多的场景方案。