zl程序教程

您现在的位置是:首页 >  云平台

当前栏目

[ Azure - Cloud Shell ] Azure Cloud Shell 快速入门

Cloudshell入门 快速 Azure
2023-09-14 09:16:31 时间

理解用例及使用场景

Azure 管理员在 Azure 资源管理器 (ARM) 中有两个编程接口:

根据我的经验,我的大多数客户倾向于依赖Azure CLI执行“快进快出”任务,比如检查资源状态、停止虚拟机(vm)等,并依赖Azure PowerShell进行部署作业和执行自动化脚本等。

Azure CLI 的另一个优势是它是一个在 Windows、macOS 和 Linux 上运行的 Python 应用程序。可以肯定的是,PowerShell 在技术上也是跨平台的,但坦率地讲( ̄▽ ̄)~*,我发现 CLI 在非 Windows 环境中更容易使用。

Azure Cloud Shell 使跨平台的抱怨变得毫无意义,因为它直接在你的 Web 浏览器中运行! 微软承诺 Azure PowerShell 最终将并入 Azure Cloud Shell,目前现在的版本是:Azure CLI v2.0。 今天的教程涵盖了 Cloud Shell 行为; 请查看我的其他 CLI 语法文章,可能会对你有所帮助:

  • Azure CLI v2.0
  • Microsoft Azure CLI v2.0 Interactive Shell

通过单击 Azure 门户顶部导航栏中的 Cloud Shell 按钮启动 Azure Cloud Shell 实例,如下图所示。 首次启动时,它会提示你允许 Azure 创建存储帐户和文件共享以保存基础 Docker 容器。 (我们将在这篇文章的下一部分介绍幕后发生的事。)

在这里插入图片描述

Azure Cloud Shell 为我们提供了两大便利。 第一,它会自动在 CLI 中向 Azure 进行身份验证,因为门户已经向 Azure 进行了身份验证。 第二,只要您允许 Azure 部署存储帐户,您的会话状态和首选项就会在会话中持续存在。


底层架构

让我们仔细看看当你第一次启动Azure Cloud Shell时发生了什么。下一个截图显示了创建存储帐户的提示:

选择使用风格:
在这里插入图片描述

在这里插入图片描述

我强烈建议您允许Azure存储您的Cloud Shell环境。这个不是免费,会产生storage costs费用,但是它相当小,因为Azure创建了一个标准的存储帐户,使用本地冗余存储(LRS)复制。

Cloud Shell作为Ubuntu Linux Docker容器运行。详细可以参照下图,下图展示了Cloud Shell向你的目标订阅对象部署了哪些Azure资源。
在这里插入图片描述

这个.img文件是一个存储$Home目录内容的5GB磁盘存储(clouddrive)。每次启动Cloud Shell时,Azure都会在容器VM中以以下路径挂载存储:

/user/<username>/clouddrive

管理云控制台窗口

让我们仔细看看云控制台界面,看看下面的注释截图,然后我将解释每个主要部分:

在这里插入图片描述

  • ➊ 选择风格,点击dropdown list可以选择Bash 或者使用 PowerShell
  • ❷ 重新启动 Cloud Shell。默认会话超时为 10 分钟。
  • ❸ 帮助菜单,有如下几个:
  • ❹ 设置选项,主要有设置字体和字体大小两个选项,也可以复原重置。
  • ❺ 上传/下载文件按钮
  • ❻ 打开一个新会话
  • ❼ 打开编辑窗口
  • ❽ web预览窗口

获取Cloud Drive相关信息

shell命令有数千个,本文只介绍几个命令进行学习。

所有命令都可以在 PowerShell 控制台中运行,但 Bash 只能使用 Azure CLI 所提供的类似的功能

让我们首先通过运行PowerShell 的 cmdlet 中的 Get-CloudDrive 命令来检查云驱动器,如下所示,你可以看到,运行Get-CloudDrive命令会返回关于你的云驱动器的各种信息,包括你可以访问你的云驱动器的FileSharePath等。

FileSharePath 属性是 Azure Cloud Shell 装载在设置 Cloud Shell 时创建的 Azure 文件共享的位置。

在这里插入图片描述


内置工具和文件共享访问

通过运行命令:lsb_release -a 可以看到如下信息,其中现在的操作系统是微软自研发的:CBL-Mariner,在GitHub有开源出来点击我访问

bluetata@Azure:~$ lsb_release -a
LSB Version:    n/a
Distributor ID: Mariner
Description:    CBL-Mariner 2.0.20220824
Release:        2.0.20220824
Codename:       Mariner

根据Scott Hanselman的说法,Cloud Shell确实是一个由Azure容器服务在底层管理的容器。我们不仅可以使用原生的bash命令和Azure CLI本身,而且微软还为我们提供了许多其他在容器内使用的工具。其中一些工具(但不是全部)包括:

  • Git (source code control)
  • Vim, nano (text editors)
  • Docker CLI/Docker Machine
  • MySQL, PostgreSQL clients
  • iPython client

Cloud Shell内部也同样支持如下的编程/脚本语言:

  • .NET Core 1.01
  • Go 1.7
  • Java 1.8
  • js 6.9.4
  • Python 2.7 and 3.5

现在,关于clouddrive目录。如前所述,Cloud Shell 存储帐户中的 .img 文件存储所有用户数据。用户可以像平时一样进行命令操作,例如:

bluetata@Azure:~$ pwd
/home/bluetata
bluetata@Azure:~$ ls
clouddrive
bluetata@Azure:~$ cd clouddrive
bluetata@Azure:~/clouddrive$ touch file1.txt
bluetata@Azure:~/clouddrive$ ls
file1.txt
bluetata@Azure:~/clouddrive$

使用文件编辑功能

普通编辑功能介绍

Azure Cloud Shell 不仅仅是一个用于运行命令的简单 shell。您甚至可以在由开源 Monaco 编辑器构建的成熟文件编辑器中编辑文件!

  1. 通过单击菜单栏中的花括号打开编辑器,如下所示。您将看到两个窗格,左侧是你的文件,右侧是实际编辑器。
    在这里插入图片描述

  2. 通过导航到左窗格中的文件并单击它,在编辑器中打开一个文件。你将看到该文件随后在右侧窗格中打开,如下所示。

你也可以通过键入代码 <要打开的文件的路径> 直接从命令行打开文件。

在这里插入图片描述

  1. 如果你对文件进行了一些更改并想保存它,请单击下面红色箭头所示的省略号,然后单击保存。

在这里插入图片描述

  1. 完成之后,鼠标右键如下所示,然后选择Quit退出。

在这里插入图片描述

或者,您可以按 Ctrl+Q 退出编辑器。


使用文件编辑Command Palette功能

就像Visual Studio Code一样,内置的Azure Cloud Shell编辑器有一个命令面板。同样鼠标右键后,单击命令面板,这个操作将向你展示命令面板中可用的选项,用于编辑文件。

在这里插入图片描述

点击命令面板后出现如下图所示的提示,类似于VS Code的功能。

在这里插入图片描述


使用Web预览测试Web应用程序

当你需要在实际将web应用程序部署到生产环境之前预览它时,这个特性非常有用。

为了演示 Web Preview 功能,先用 Python 创建一个 Web 服务器,并看看如何查看它使用 Web Preview 提供的页面。

  1. 通过运行以下命令,使用 Python 启动一个简单的 Web 服务器。该命令告诉 Python 启动一个正在侦听端口 9001 的 Web 服务器。
python -m http.server 9001

不需要安装Python。它是默认安装的!

在这里插入图片描述

  1. 要查看 Web 服务器提供的页面,请单击 Web 预览图标并单击配置。

在这里插入图片描述
3. 现在,提供网络服务器正在侦听的端口(在本例中为 9001),然后单击打开并浏览。此操作将呈现 Web 服务器提供的网页。

在这里插入图片描述

你现在应该会看到 Azure Cloud Shell 的容器文件系统的目录列表。

在这里插入图片描述

  1. 关闭网页并返回到 shell,你会注意到 HTTP GET 请求在打开由 http 服务器呈现的网页时被记录下来。

在这里插入图片描述

  1. 最后,要关闭 Web 服务器,再次点击web预览,点击关闭即可。

在这里插入图片描述


其他 重启session会话 和 更改字体大小等

本文不再赘述,有兴趣的同学,可以尝试使用Azure Cloud Shell进行体验


:本文原创由 bluetata 发布于: https://bluetata.blog.csdn.net/ 转载请务必注明出处。