本文主要内容:
1. 创建一个虚拟机,并进行web访问
2. 在Azure中查找和使用映像
3. VM自定义映像的创建和使用
——————————————————
开启Azure试用账户:https://www.microsoft.com/china/azure/
1. 创建一个虚拟机,并进行web访问
当我们在Azure上构建一个解决方案时,“计算(compute)”和“存储(storage)”服务往往是解决方案架构的关键。“计算”服务指运行程序所需的计算资源的承载模型;“存储”指数据存储,包括数据库、消息队列、缓存、非结构性日志等。
在IaaS服务中,通过创建虚拟机实例可以实现弹性、灵活、高可用的系统架构。Azure虚拟机是一种完全可配置的计算资源,支持Windows、Linux等多种操作系统,并提供广泛的市场映像。
Azure资源的创建和管理,可以通过Azure门户网站直接进行操作,也可以使用命令行。在Azure门户网站中提供线上命令行窗口,可以在线操作。下文将用Azure CLI进行虚拟机的创建及其他操作。
运行Azure CLI之前,要注意根据Azure账户区域选择正确的地区,
若为Azure中国区,需要先运行以下命令
az cloud set -n AzureChinaCloud
切换回Azure国际版,可运行
az cloud set -n AzureCloud
选择正确的云环境之后,就可以用以下命令登录到Azure账户
az login
(1) 创建资源组
创建虚拟机之前需要先创建一个资源组(Resource Group),Azure资源组是部署和管理Azure资源的逻辑容器,可以通过以下命令进行创建:
az group create --name myResourceGroup --location SoutheastAsia
--name 参数对资源组进行命名
--location参数可以自行确定,此试用账户为Azure全球版,故将位置放在东南亚地区
(2) 创建VM
az vm create --resource-group myResourceGroupVM \
--name myVM \
--image UbuntuLTS \
--admin-user azuser \
--generate-ssh-keys
创建VM需要等待一些时间,创建完成后可以看到返回的信息中有MAC地址、私有IP地址、公有IP地址,这些信息虽然在刚才没有配置,但实际上默认创建了与该VM相关的网络接口、虚拟网络、IP地址、网络安全组以及磁盘,以保证VM的正常使用。在必要时,会预先配置与VM相关的网络接口、虚拟网络、网络安全组等内容,然后再创建VM。

VM创建完成后,可以在门户网站->资源组->myResourceGroupVM中看到刚才创建的VM以及与之有关的网络接口、虚拟网络等组件。此时VM已经是running状态,可以通过SSH连接到VM并开始使用。

(3)连接VM,并安装Nginx服务器,进行web访问
利用vm的admin-user账户以及公共IP进行连接
ssh azuser@40.65.187.229
连接上之后安装Nginx
![]()
在通过公有IP地址访问web页面之前,要打开该VM的80端口,命令如下
az vm open-port --port 80 --resource-group myResourceGroupVM --name myVM
之后便可以通过该VM的公共IP地址成功进行web访问

2. 在Azure中查找和使用映像
Azure市场包含许多可用于创建VM的映像。映像主要有以下几个属性,可以利用属性查找映像:
- Offer:发布者创建一组相关映像的名称,如UbuntuServer、WindowsServer
- Publisher:创建映像的组织,如Canonical、MicrosoftWindowsServer
- SKU:产品/服务的实例,例如分发版的主要版本。 示例:18.04-LTS、2019-Datacenter
- Version:映像 SKU 的版本号。
用以下命令可以查看常用的映像列表
az vm image list --output table

在返回的映像列表中,Urn是映像属性的合并,值之间用冒号 (:) 字符隔开,格式为“发布者:产品/服务:Sku:版本”,UrnAlias是Urn的简短格式,可以在创建VM时用UrnAlias指定虚拟机映像,如在上文中用UbuntuLTS创建VM。
可以使用--all得到所有映像列表,一般情况下可以用--location、--offer、--publisher 或--sku作为筛选器进行映像查找。如果没有使用 --location 选项指定一个特定位置,则将返回默认位置的值。可以通过命令设置不同的默认位置
az configure --defaults location=<location>
在某一位置,可以对映像进行分布查找:
(1) 查找该区域的Publisher (以SoutheastAsia为例)
az vm image list-publishers --location SoutheastAsia --output table

...
(2)从返回的信息中,选定发布者 Canonical ,然后查找该发布者发布的产品
az vm image list-offers --location SoutheastAsia --publisher Canonical --output table

(3) 选择UbuntuServer,然后查看有哪些SKU
az vm image list-skus --location SoutheastAsia --publisher Canonical --offer UbuntuServer --output table

(4)可以用--all,查找指定publisher、offer、SKU下所有的版本号

可以在创建VM时用Urn作为--image的参数来指定映像,且Urn中的版本号选择最新版本时用“latest”代替。
另外:如果部署具有市场条款的映像,可以参考连接https://docs.azure.cn/zh-cn/virtual-machines/linux/cli-ps-findimage#deploy-an-image-with-marketplace-terms
3. VM自定义映像的创建和使用
创建VM的自定义映像可以用于启动配置,如预加载应用程序、应用程序配置等。将现有 VM 转换为可重用自定义映像,以便将其用于创建新 VM 实例。
对现有VM需要进行如下处理:
(1)取消该VM的配置(Deprovision),消除该VM的特定信息。此步骤需要连接到该VM进行操作
连接现有VM(在上文中创建)
ssh azuser@40.65.187.229
取消预配
sudo waagent -deprovision+user -force
然后用exit退出。在取消预配期间,主机名将重置为“localhost.localdomain”。 还会删除 SSH 主机密钥、名称服务器配置、根密码和缓存的 DHCP 租约。
(2)解除分配(Deallocate)
az vm deallocate --resource-group myResourceGroupVM --name myVM
(3)通用化VM(Generalize)
将 VM 的状态设置为“通用化”,以便 Azure 平台知道 VM 已通用化。只能从通用化 VM 创建映像。
az vm generalize --resource-group myResourceGroupVM --name myVM
创建映像
az image create \
--resource-group myResourceGroupVM \
--name myImage \
--source myVM
Image创建成功后可以在资源组中看到,利用该Image可以创建新的VM实例

az vm create \
--resource-group myResourceGroupVM \
--name myVMfromImage \
--image myImage \
--admin-username azuser1 \
--generate-ssh-keys
创建完成新的VM后,返回新VM的信息如下

由于源VM中已经安装了Nginx服务器,因此从自定义映像myImage创建的VM就已预先配置了Nginx,无需再次安装,可以直接通过新VM(myVMfromImage)的公共IP访问web网页。

本文介绍了如何在Azure IaaS服务中创建虚拟机(VM),进行web访问,以及如何查找和使用映像。详细讲解了通过Azure CLI创建资源组和VM,安装Nginx服务器,开放端口进行web访问。此外,还阐述了在Azure市场中查找映像的策略,以及如何创建和使用自定义映像,包括VM的通用化和映像创建过程。
1701

被折叠的 条评论
为什么被折叠?



