theme: condensed-night-purple
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
本文同时参与 「掘力星计划」 ,赢取创作大礼包,挑战创作激励金。
通过前几篇文章已经对Terraform有了基础的认识,并且同时基于docker编排了nginx环境。Terraform最初的目的是代码编排云计算领域的基础设施,这一篇文章就着官方的例子,使用Terraform创建Azure的资源组。
一、环境准备
云计算资源:一台计算实例(1核2G,预装centos7 minimal) 软件环境:Terraform v1.0.7 Azure配置信息: 通过设置订阅目录、Azure Acitve Directory、应用注册、应用注册下的证书和密码获取如下配置: - 订阅目录Id azure_subscription_id
- 订阅租户Id azure_subscription_tenant_id
- 应用id service_principal_appid
- 应用程序密码service_principal_password
提示:如果不想使用密码,也可以使用证书,即公钥。
二、代码编排资源
这次例子非常简单,就偷懒都放到main.tf
文件里面,如果更加规范的文件目录,应该是把provider信息提取到一个单独的文件,另外动态的变量信息也应该提取出来作为一个单独文件。 ```
Configure the Azure provider
terraform { requiredproviders { azurerm = { source = "hashicorp/azurerm" version = "~> 2.80.0" } } requiredversion = ">= 0.14.9" }
provider "azurerm" { features {} subscriptionid = " " tenant id = " " client id = " " client secret = " " }
resource "azurermresourcegroup" "rg" { name = "myTFResourceGroup" location = "westus2" }
```
三、实践部署
首先现在服务器上创建一个文件夹,使工作环境有一个独立的工作空间,其目录结构如下图所示。
然后上传main.tf
文件到此文件目录,然后执行Terraform init
初始化工作空间。 $terrform init
执行成功,结果显示如下图所示。 然后执行
terraform plan
预览执行计划。 $terraform plan
执行成功,显示会新增资源组,结果详情显示如下图所示。
最后执行部署terraform apply
,创建资源。 $terraform apply
执行成功,显示资源创建成功,结果详情显示如下图所示。
然后检查Azure门户控制面板,显示资源组多了一个
myTFResourceGroup
,至此创建成功。
四、总结
这是一个相当入门级别的例子,有一些细节可能没有讲清楚,比如如何获取Azure认证的配置信息等,等另外写一篇文章配置吧。
欢迎在评论区讨论,掘金官方将在掘力星计划活动结束后,在评论区抽送100份掘金周边,抽奖详情见活动文章。