Terraform基础 配置阿里云Provider

既然要操作阿里云,那么就需要使用阿里云的provider

其实和阿里云这块在调用API,其实就是terraform里面的一个插件,tf里面是通过provider来管理这些基础设施的,所以terraform其实也是通过各个云供应商它的api来进行交互的。

每个provider里面都包含了很多的资源资源就是阿里云上面看到的云产品,如api-gateway,还有ecs,dns,等等这些产品可以理解为是资源。

所以provider里面都包含了阿里云里面所有的资源。

有时候想获取云上的数据,或者这个产品能够为我们提供哪些数据,都可以通过data_resource去实现,获取数据的时候会使用到。


Terraform Registryhttps://registry.terraform.io/providers/aliyun/alicloud/latest

 后面不管是哪个云的,你都离不开这个文档。

左边都是资源,都可以看到,产品类型,里面都是资源和数据源。这里可以搜索资源,多用用就行,写配置文件的时候离不开它。

这里有provider的使用说明和方法,之前申请账号就是因为要配置这些信息。

 上面就是provider的定义,以及怎么看它的文档的,以及文档上具体导航。

声明 terraform provider


这个配置定义到了专门version.tf,在项目里面创建了这样一个文件,这个文件里就保存了tf的版本信息,以及所使用provider的一些版本信息。

可以看到代码都是块代码,第一个是tf的版本信息,

terraform {
  required_version = "1.3.3"
  required_providers {
    alicloud = {
      source = "aliyun/alicloud"
      version = "1.188.0"
    }
  }
}


#required_version = "1.3.3"   版本信息
PS C:\Users\W10\Desktop\terraform> terraform.exe --version
Terraform v1.3.3
on windows_amd64


#terrform不仅仅只管理一个云,它可以管理多个云,既然阿里云有provider,那么华为,腾讯都有自己的provider,里面定义的都是自己的provider
required_providers   #里面定义每一个具体的provider

这里的source是https://registry.terraform.io/providers/aliyun/alicloud/latest/docs

仓库地址为其路径,它将registry.terraform.io/providers这块去掉了,所以这是简单的写法指定源。那么在terraform初始化的时候,它就知道在哪里下载ali cloud了

配置 Provider


在provider里面需要定义三个参数,敏感信息不要以硬编码方式暴露,而是以环境变量方式暴露。(现在只需要知道provider里面定义了这三个参数)

这个文件里面存放变量,变量有很多种类型,下面是string类型。定义变量是使用variables关键字,后面就是变量名称,块里面就是它的配置。 

variable "access_key" {
  type = string
}

variable "secret_key" {
  type = string
}

variable "region" {
  type = string
}

定义便利的格式用的variable的关键字,然后就是变量名称,块里面就是它的配置,现在只使用了type类型配置,这里只使用了tf要使用的变量,没有定义其值。

为了保密安全性,这些变量都已环境变量方式去声明,所以要加到系统变量里面。 

所以要将变量添加到系统变量里面,变量的格式是TF_VAR,在tf里面只要系统环境变量以TF_VAR开头,那么都可以识别为TF的变量。

如果是这样通过TF_VAR定义了变量,那么provider里面就可以由三行变成一行,只写入region信息就行啦,因为ak sk会去从环境变量里面去读取。 

provider "huaweicloud" {
  region = var.region
}

比如我定义了alicloud_access_key变量,那么要想让tf读取到这个变量,那么就在系统里面定义TF_VAR开头的,然后后面是其变量名,然后是变量的值。

变量的值是在操作系统上面去定义的。

provider第一个需要定义它的版本,然后定义provider所需要的参数。

同时定义变量不行还得配置到环境变量里面,就是操作系统里面才可以。

上面配置好,就可以使用provider就行了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值