天天看点

使用Terraform部署Azure资源

“基础设施即代码”是一种通过代码来定义计算和网络基础设施的方法,它可以应用于任何软件系统中。这样的代码放在代码版本控制系统中,具有可审查性、可重用性,并且符合测试惯例,还完全遵从持续交付的原则。该方法已经在过去的十年内广泛应用于快速增长的云计算平台中了,而且也将会成为接下来管理计算机基础设施的主要方式。对于目前而言,我们若想使用基础设施即代码的方式在azure中部署资源,通常可以选择如下工具:

powershell

ansible

puppet

chef

azure resource manager

etc.

除了上述工具以外,我们还可以选择使用terraform来实现基础设施及代码的部署。那么接下来我们会和大家讨论如何使用terraform从0开始在azure上部署测试环境。本次我们主要讨论使用terraform部署一个资源组和一个带有两个子网的vnet

下载并安装terraform

若要使用terraform实现ica我们需要先下载并安装terraform,具体可以参考如下链接:

https://www.terraform.io/downloads.html

准备tf文件

安装完terraform以后,我们需要创建一些文件:

main.tf :包含我们要创建的资源以及一些模块的调用

variables.tf:包含我们要创建资源的值

使用Terraform部署Azure资源

以下是main.tf,其中包含了一个资源组和一个带有两个子网的虚拟网络:

该variables.tf文件将包含我们将部署的资源值:

准备好上述文件以后,我们就应该开始执行部署命令了,首先我们会执行terraform init来初始化项目,这个过程中terraform会帮助我们下载对于的依赖项:

使用Terraform部署Azure资源

然后我们需要执行terraform plan来查看我们要在azure订阅中执行的操作。若我们的tf文件编写有问题,也会在这一步的时候显示出来:

使用Terraform部署Azure资源

接下来,我们需要运行terraform apply来执行部署:

使用Terraform部署Azure资源

部署过程中需要我们输入yes来确认部署:

使用Terraform部署Azure资源

部署完成如下图所示:

使用Terraform部署Azure资源

此时我们可以登陆到azure查看对应的资源是否创建成功:

使用Terraform部署Azure资源

如果要删除已经删除的部署,可以运行terraform destroy:

使用Terraform部署Azure资源

几分钟后,所有内容均已被删除:

使用Terraform部署Azure资源

继续阅读