小常识,大应战!本文正在参加“程序员必备小常识”创造活动。
本文一起参加 「掘力星方案」 ,赢取创造大礼包,应战创造激励金。
通过前几篇文章现已对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 {
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "~> 2.80.0"
}
}
required_version = ">= 0.14.9"
}
provider "azurerm" {
features {}
subscription_id = "<azure_subscription_id>"
tenant_id = "<azure_subscription_tenant_id>"
client_id = "<service_principal_appid>"
client_secret = "<service_principal_password>"
}
resource "azurerm_resource_group" "rg" {
name = "myTFResourceGroup"
location = "westus2"
}
三、实践部署
首先现在服务器上创立一个文件夹,使作业环境有一个独立的作业空间,其目录结构如下图所示。
然后上传main.tf
文件到此文件目录,然后履行Terraform init
初始化作业空间。
$terrform init
履行成功,成果显现如下图所示。
然后履行terraform plan
预览履行方案。
$terraform plan
履行成功,显现会新增资源组,成果详情显现如下图所示。
最终履行部署terraform apply
,创立资源。
$terraform apply
履行成功,显现资源创立成功,成果详情显现如下图所示。
然后查看Azure门户控制面板,显现资源组多了一个myTFResourceGroup
,至此创立成功。
四、总结
这是一个相当入门级别的比方,有一些细节可能没有讲清楚,比方怎么获取Azure认证的装备信息等,等另外写一篇文章装备吧。
欢迎在评论区讨论,官方将在掘力星方案活动结束后,在评论区抽送100份周边,抽奖详情见活动文章。