小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
本文同时参与 「掘力星计划」 ,赢取创作大礼包,挑战创作激励金。
在上一篇文章《云基础设施创建-Azure 资源组》中,我们使用TerraForm创建第一个云基础设施Resouce Group(资源组)。在这篇文章,我们将通过定义引用资源组并且向资源组添加标记的其他资源来修改已经部署的基础设施。
一、代码编码虚拟网络
在上文的main.tf
文件中添加新的资源块,资源为虚拟网络。
# 创建虚拟网络
resource "azurerm_virtual_network" "vnet" {
name = "myTFVnet"
address_space = ["10.0.0.0/16"]
location = "westus2"
resource_group_name = azurerm_resource_group.rg.name
}
为了创建一个新的Azure VNet
,Azure
要求必须指定要包含VNET
的资源组的名称,即上一篇文章我们创建的资源。通过引用资源组,我们可以在资源之间建立依赖项。TerraForm
可确保通过为配置构造依赖图来以适当的顺序创建资源。
二、新部署改变项
更改配置后,我们将运行Terraform再次部署,在正式部署之前,我们预览以下改变项。
#预览部署计划,查看改变项
$terraform plan
输出结果如下:
图上显示,有一个资源添加,没有改变项,没有销毁。接下来执行部署计划。
#应用部署计划
$terraform apply
输入yes
,输出结果如下:
显示虚拟网络资源Vnet
资源创建成功。
提示:需要注意的是,在plan
和apply
时,等待的时间会随着资源的数量增加而显著增加,需要耐心的等待。
检查Azure
门户,如下图所示,显示资源创建成功。
然后检查资源之间关联的关系,可以用到terraform show
命令。
$terraform show
输出结果如下: