Azure IaaS服务中VM的创建及映像的查找和使用

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

本文主要内容:

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网页。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值