【Microsoft|【Microsoft Azure 的1024种玩法】六、使用Azure Cloud Shell对Linux VirtualMachines 进行生命周期管理

【文章简介】

Azure Cloud Shell 是一个用于管理 Azure 资源的、可通过浏览器访问的交互式经验证 shell。 它使用户能够灵活选择最适合自己工作方式的 shell 体验,本篇文章主要针对Linux VirtualMachines 进行生命周期管理(包括启动、停止、重启等)
【前期文章】 【Microsoft Azure 的1024种玩法】一.一分钟快速上手搭建宝塔管理面板
【Microsoft Azure 的1024种玩法】二.基于Azure云平台的安全攻防靶场系统构建
【Microsoft Azure 的1024种玩法】三.基于Azure云平台构建Discuz论坛
【Microsoft Azure 的1024种玩法】四. 利用Azure Virtual machines 打造个人专属云盘,速度吊打某云盘
【Microsoft Azure 的1024种玩法】五.基于Azure Cloud Shell 一站式创建Linux VM
【Microsoft Azure 的1024种玩法】六、使用Azure Cloud Shell对Linux VirtualMachines 进行生命周期管理
【Azure Cloud Shell功能介绍及限制】
  1. 功能介绍
    Azure Cloud Shell 是一个用于管理 Azure 资源的、可通过浏览器访问的交互式经验证 shell。 它使用户能够灵活选择最适合自己工作方式的 shell 体验,无论是 Bash 还是 PowerShell。
  2. 条件限制
  • Cloud Shell 在按会话按用户提供的临时主机上运行
  • Cloud Shell 在 20 分钟没有交互活动后将超时
  • Cloud Shell 需要装载 Azure 文件共享
  • Cloud Shell 对 Bash 和 PowerShell 使用相同的 Azure 文件共享
  • 将针对每个用户帐户为 Cloud Shell 分配一台计算机
  • Cloud Shell 使用文件共享中保存的 5-GB 映像持久保存 $HOME
  • 在 Bash 中权限是按常规 Linux 用户设置的
【操作步骤】 一.通过Azure Cloud Shell查询Azure公共映像 ①我们若要是查询可用的公共映像列表,可以通过在Azure Cloud Shell使用az vm image list 命令进行查询,命令格式如下:
az vm image list --output table
②执行回显如下代码
ma@Azure:~$ az vm image list --output table You are viewing an offline list of images, use --all to retrieve an up-to-date list OfferPublisherSkuUrnUrnAliasVersion -------------------------------------------------------------------------------------------------------------------------------------------------------------- CentOSOpenLogic7.5OpenLogic:CentOS:7.5:latestCentOSlatest debian-10Debian10Debian:debian-10:10:latestDebianlatest flatcar-container-linux-freekinvolkstablekinvolk:flatcar-container-linux-free:stable:latestFlatcarlatest openSUSE-LeapSUSE42.3SUSE:openSUSE-Leap:42.3:latestopenSUSE-Leaplatest RHELRedHat7-LVMRedHat:RHEL:7-LVM:latestRHELlatest SLESSUSE15SUSE:SLES:15:latestSLESlatest UbuntuServerCanonical18.04-LTSCanonical:UbuntuServer:18.04-LTS:latestUbuntuLTSlatest WindowsServerMicrosoftWindowsServer2019-DatacenterMicrosoftWindowsServer:WindowsServer:2019-Datacenter:latestWin2019Datacenterlatest WindowsServerMicrosoftWindowsServer2016-DatacenterMicrosoftWindowsServer:WindowsServer:2016-Datacenter:latestWin2016DatacenterlatestWindowsServerMicrosoftWindowsServer2012-R2-DatacenterMicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latestWin2012R2Datacenterlatest WindowsServerMicrosoftWindowsServer2012-DatacenterMicrosoftWindowsServer:WindowsServer:2012-Datacenter:latestWin2012Datacenterlatest WindowsServerMicrosoftWindowsServer2008-R2-SP1MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:latestWin2008R2SP1latest

③同时,我们可以通过执行az vm image list --offer CentOS --all --output table命令来过滤出含有“Centos”操作系统的映像(查询的时间会在1分钟-3分钟之间)
CentOSOpenLogic7.7OpenLogic:CentOS:7.7:7.7.20201113007.7.2020111300 CentOSOpenLogic7.7OpenLogic:CentOS:7.7:7.7.20210204007.7.2021020400 php-7-3-with-centos-7-8cognosysphp-7-3-with-centos-7-8cognosys:php-7-3-with-centos-7-8:php-7-3-with-centos-7-8:1.2019.10101.2019.1010 CentOSOpenLogic7_4OpenLogic:CentOS:7_4:7.4.202002207.4.20200220 CentOSOpenLogic7_4-gen2OpenLogic:CentOS:7_4-gen2:7.4.202002207.4.20200220 php-7-3-with-centos-7-9cognosysphp-7-3-with-centos-7-9cognosys:php-7-3-with-centos-7-9:php-7-3-with-centos-7-9:1.2019.10101.2019.1010 CentOSOpenLogic7_5-gen2OpenLogic:CentOS:7_5-gen2:7.5.202002147.5.20200214 CentOSOpenLogic7_6-gen2OpenLogic:CentOS:7_6-gen2:7.6.202002137.6.20200213

④后续若要使用特定的映像来部署虚拟机,可以通过指定映像的版本号的方式来指定您所需要的的镜像,若您这边想要使用当前最新版本的镜像,您可以通过增加“latest”的参数获取最新的发行版本,举个例子,假设我们这边要创建一台Linux虚拟机,Linux虚拟机信息如下:
  1. 虚拟机名为:myVM2
  2. 虚拟机映像为Centos 7.7最新发行版本
  3. 远程连接认证方式为generate-ssh-keys
⑤根据要求信息执行下述命令
az vm create --resource-group myResourceGroupVM --name myVM2 --image OpenLogic:CentOS:7.7:latest --generate-ssh-keys
⑥执行完毕如下图所示
【Microsoft|【Microsoft Azure 的1024种玩法】六、使用Azure Cloud Shell对Linux VirtualMachines 进行生命周期管理
文章图片

⑦返回VM控制台查看相关信息,发现与我们执行创建的版本信息一致
【Microsoft|【Microsoft Azure 的1024种玩法】六、使用Azure Cloud Shell对Linux VirtualMachines 进行生命周期管理
文章图片

二.通过Azure Cloud Shell查询Azure VM实例规格参数 2.1实例参数规格对比
一般我们在选择使用Auzre VM之前都会对配置参数进行选型,比如说我们要购买多少CPU、多少内存的虚拟机,要去承载我们的业务需要什么类型参数的虚拟机等等,我们在选择购买前必须要做的一个配置选型工作,去选择不同实例规格的服务器,下述列出了针对不同业务场景Azure VM类型
规格簇 实例规格 适合的业务场景
通用型 B, Dsv3, Dv3, DSv2, Dv2, Av2, DC 主要适合搭建web应用前后端、中间件、开发测试的场景
计算型 Fsv2 拥有高CPU、高内存占比,主要适用于中等流量的应用程序
内存增强型 Esv3、Ev3、M、DSv2、Dv2 拥有较高的内存,主要适用于中到大型的缓存数据库、关系型数据库
存储增强型 Lsv2、Ls 拥有高磁盘吞吐量和IO,主要适用于搭建各种大数据、Nosql数据库场景
GPU型 NV、NVv2、NC、NCv2、NCv3、ND 针对视频、图片、音频处理、GPU加速的图形渲染场景
高性能 H CPU处理能力极强、具有可选的高吞吐网络接口,适合用于深度学习等业务场景
2.2实例参数查询
我们要想查询某一个地域下面可用的VM实例类型列表,可通过az vm list-sizes命令进行查询,举个例子下述参数查询美国东部地域可用的实例规格,并通过表格的方式进行输出,可通过如下命令进行查询
az vm list-sizes --location eastus --output table
查询命令输出如下(美国东部地域可用的实例规格):MaxDataDiskCountMemoryInMbNameNumberOfCoresOsDiskSizeInMbResourceDiskSizeInMb ------------------------------------------------------------------------------------------------------------ 2512Standard_B1ls110475524096 22048Standard_B1ms110475524096 21024Standard_B1s110475524096 48192Standard_B2ms2104755216384 44096Standard_B2s210475528192 816384Standard_B4ms4104755232768 1632768Standard_B8ms8104755265536 1649152Standard_B12ms12104755298304 3265536Standard_B16ms161047552131072 3281920Standard_B20ms20104755216384

三.通过Azure Cloud Shell对Azure VM实例规格动态变配 3.1 查看当前VM大小
az vm show --resource-group myResourceGroupVM --name myVM --query hardwareProfile.vmSize
调整之前 需查询Azure集群是否可用
az vm list-vm-resize-options --resource-group myResourceGroupVM --name myVM --query [].name
大小可用,可以从开机状态直接调整
az vm resize --resource-group myResourceGroupVM --name myVM --size Standard_DS4_v2
大小不可用,需要解除分配VM,再进行调整大小
az vm deallocate --resource-group myResourceGroupVM --name myVM
四.通过Azure Cloud Shell对Azure VM实例状态进行管理 4.1 Azure VM实例状态
一个VM实例状态分为不同的状态(正在启动、运行中、正在停止、已停止、正在解除分配、已解除分配),下述表格是针对VM实例生命周期的不同状态的解释描述
实例状态 描述
正在启动 虚拟机正在启动
运行 虚拟机正在运行
正在停止 虚拟机正在停止
已停止 虚拟机已停止
正在解除分配 虚拟机正在解除分配
已解除分配 虚拟机已从虚拟机监控程序中删除,但仍在控制面板中使用
- 虚拟机状态未知
4.2 查询Auzre VM状态
通过az vm get-instance-view 命令查询当前虚拟机状态,执行命令如下
az vm get-instance-view \ --name myVM2 \ --resource-group myResourceGroupVM \ --query instanceView.statuses[1] --output table

执行完毕以后,如下图所示:
【Microsoft|【Microsoft Azure 的1024种玩法】六、使用Azure Cloud Shell对Linux VirtualMachines 进行生命周期管理
文章图片

4.3 停止Auzre VM
若要停止当前已经启动的虚拟机,或者将虚拟机由启动状态改变为停止状态,可通过"az vm stop "命令进行将虚拟机停止
az vm stop --resource-group 资源组名称 --name 虚拟机名称
举个例子:将虚拟机名为myVM2由运行状态变更为停止状态,可执行如下命令,进行操作
az vm stop --resource-group myResourceGroupVM --name myVM2
执行完毕以后,如下图所示
【Microsoft|【Microsoft Azure 的1024种玩法】六、使用Azure Cloud Shell对Linux VirtualMachines 进行生命周期管理
文章图片

通过VM的门户进行查看当前虚拟机状态为stopped已停止状态,如下图所示
【Microsoft|【Microsoft Azure 的1024种玩法】六、使用Azure Cloud Shell对Linux VirtualMachines 进行生命周期管理
文章图片

4.4 启动Auzre VM
若要将已停止的Auzre VM状态变更为运行中,则可以通过“az vm start”命令进行启动Azure VM虚拟机
举个例子:将虚拟机名为myVM2由停止状态变更为启动状态,可执行如下命令,进行操作
az vm start --resource-group myResourceGroupVM --name myVM2
【【Microsoft|【Microsoft Azure 的1024种玩法】六、使用Azure Cloud Shell对Linux VirtualMachines 进行生命周期管理】执行完毕以后,如下图所示
【Microsoft|【Microsoft Azure 的1024种玩法】六、使用Azure Cloud Shell对Linux VirtualMachines 进行生命周期管理
文章图片

通过VM的门户进行查看当前虚拟机状态为由之前的stopped已停止状态变更为运行状态,如下图所示
【Microsoft|【Microsoft Azure 的1024种玩法】六、使用Azure Cloud Shell对Linux VirtualMachines 进行生命周期管理
文章图片

以上内容就是使用Azure Cloud Shell对Linux VirtualMachines 进行生命周期管理全部内容教程了,你学会了么?

    推荐阅读