小常识,大应战!本文正在参加“程序员必备小常识”创造活动。
本文一起参加 「掘力星方案」 ,赢取创造大礼包,应战创造激励金。

通过前几篇文章现已对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"
}

三、实践部署

首先现在服务器上创立一个文件夹,使作业环境有一个独立的作业空间,其目录结构如下图所示。

【Terraform】云基础设施创建-Azure 资源组

然后上传main.tf文件到此文件目录,然后履行Terraform init初始化作业空间。

$terrform init

履行成功,成果显现如下图所示。

【Terraform】云基础设施创建-Azure 资源组
然后履行terraform plan预览履行方案。

$terraform plan

履行成功,显现会新增资源组,成果详情显现如下图所示。

【Terraform】云基础设施创建-Azure 资源组

最终履行部署terraform apply,创立资源。

$terraform apply

履行成功,显现资源创立成功,成果详情显现如下图所示。

【Terraform】云基础设施创建-Azure 资源组
然后查看Azure门户控制面板,显现资源组多了一个myTFResourceGroup,至此创立成功。

【Terraform】云基础设施创建-Azure 资源组

四、总结

这是一个相当入门级别的比方,有一些细节可能没有讲清楚,比方怎么获取Azure认证的装备信息等,等另外写一篇文章装备吧。


欢迎在评论区讨论,官方将在掘力星方案活动结束后,在评论区抽送100份周边,抽奖详情见活动文章。