Azure cli使用arm创建多网卡虚拟机
程序员文章站
2023-12-30 18:34:04
...
登录 Azure CLI 并使用 Resource Manager 模式:
azure config mode arm
在以下示例中,请将示例参数名称替换为你自己的值。示例参数名称包括 myResourceGroup、mystorageaccount 和 myVM。
首先创建一个资源组。以下示例在 ChinaNorth 位置创建名为 myResourceGroup 的资源组:
azure group create myResourceGroup -l ChinaNorth
创建一个存储帐户用于存放 VM。以下示例创建名为 mystorageaccount 的存储帐户:
azure storage account create mystorageaccount -g myResourceGroup \
-l ChinaNorth --kind Storage --sku-name PLRS
创建要将 VM 连接到的虚拟网络。以下示例创建名为 myVnet、地址前缀为 192.168.0.0/16 的虚拟网络:
azure network vnet create -g myResourceGroup -l ChinaNorth \
-n myVnet -a 192.168.0.0/16
创建两个虚拟网络子网 - 一个用于前端流量,一个用于后端流量。以下示例创建两个子网,分别名为 mySubnetFrontEnd 和 mySubnetBackEnd:
azure network vnet subnet create -g myResourceGroup -e myVnet \
-n mySubnetFrontEnd -a 192.168.1.0/24
azure network vnet subnet create -g myResourceGroup -e myVnet \
-n mySubnetBackEnd -a 192.168.2.0/24
创建和配置多个 NIC
详细了解如何使用 Azure CLI 部署多个 NIC,包括如何编写轮流创建所有 NIC 的过程脚本。
以下示例创建两个名为 myNic1 和 myNic2 的两个 NIC,其中一个 NIC 将连接到每个子网:
azure network nic create --resource-group myResourceGroup --location ChinaNorth \
-n myNic1 --subnet-vnet-name myVnet --subnet-name mySubnetFrontEnd
azure network nic create --resource-group myResourceGroup --location ChinaNorth \
-n myNic2 --subnet-vnet-name myVnet --subnet-name mySubnetBackEnd
通常,我们还会创建网络安全组或负载均衡器来帮助管理流量以及跨 VM 分布流量。以下示例创建名为 myNetworkSecurityGroup 的网络安全组:
azure network nsg create --resource-group myResourceGroup --location ChinaNorth \
--name myNetworkSecurityGroup
使用 azure network nic set 将 NIC 绑定到网络安全组:以下示例使用 myNetworkSecurityGroup 绑定 myNic1 和 myNic2:
azure network nic set --resource-group myResourceGroup --name myNic1 \
--network-security-group-name myNetworkSecurityGroup
azure network nic set --resource-group myResourceGroup --name myNic2 \
--network-security-group-name myNetworkSecurityGroup
创建 VM 并附加 NIC
创建 VM 时,可以指定多个 NIC。请不要使用 --nic-name 提供单个 NIC,而要使用 --nic-names 并提供 NIC 的逗号分隔列表。还需要谨慎选择 VM 的大小。可添加到 VM 的 NIC 数目有限制。详细了解 Linux VM 大小。以下示例演示如何指定多个 NIC,然后指定可支持使用多个 NIC 的 VM 大小 (Standard_DS2_v2):
azure vm create \
--resource-group myResourceGroup \
--name myVM \
--location ChinaNorth \
--os-type linux \
--nic-names myNic1,myNic2 \
--vm-size Standard_DS2_v2 \
--storage-account-name mystorageaccount \
--image-urn UbuntuLTS \
--admin-username azureuser \
--ssh-publickey-file ~/.ssh/id_rsa.pub
使用 Resource Manager 模板创建多个 NIC
Azure Resource Manager 模板使用声明性 JSON 文件来定义环境。阅读 Azure Resource Manager 概述。Resource Manager 模板可让你在部署期间创建资源的多个实例,例如,创建多个 NIC。使用 copy 指定要创建的实例数:
"copy": {
"name": "multiplenics",
"count": "[parameters('count')]"
}
阅读有关使用 copy 创建多个实例的详细信息。
也可以使用 copyIndex() 并在资源名称中追加一个数字,来创建 myNic1、myNic2,等等。下面显示了追加索引值的示例: