Terraform使用本地编译(In-house)的Providers

简介: ## Terraform Provider的全网标识符Terraform的Provider在全网的的标识符由三部分组成,分别为`hostname`,`namespace`和`type`组成,即`//`。`hostname`是指分发、下载Provider的域名,默认为`registry.terraform.io`。`namespace`是指提供、开发Provider的组织的命名空间,默认为`has

Terraform Provider的全网标识符

Terraform的Provider在全网的的标识符由三部分组成,分别为hostnamenamespacetype组成,即<hostname>/<namespace>/<type>hostname是指分发、下载Provider的域名,默认为registry.terraform.ionamespace是指提供、开发Provider的组织的命名空间,默认为hashicorptype是指Provider的具体类型。

例如有以下Terraform模板:

terraform {
    required_providers {
         alicloud = {
          source = "aliyun/alicloud"
          version = "1.126.0"
        }
    }
}

上述模板使用terraform init命令会默认去registry.terraform.io下载aliyun开发的alicloudProvider的1.126.0版本。

本地安装Terraform Provider

如果使用本地安装插件有两种方法。首先两种方法都需要将下载的Provider或者本地编译完成的Provider放置在以下文件目录层级:

XX(e.g. /usr/share/terraform/providers/)
└── <hostname>(e.g. registry.terraform.io)
    └── <namespace>(e.g. aliyun)
        └── <type>(e.g. alicloud)
            └── <version>(e.g. 1.127.0)
                └── <your OS>(e.g. linux_amd64)
                    └── <binary file>(e.g. terraform-provider-alicloud)

方法一:使用terraform init的自带参数

第一种方法,使用terraform initplugin-dir参数:

terraform init -plugin-dir=/usr/share/terraform/providers

方法二:编写配置文件

第二种方法,编写./terraformrc配置文件,该文件需要放在$HOME/目录下:

provider_installation {
  filesystem_mirror {
    path    = "/usr/share/terraform/providers"
    include = ["registry.terraform.io/*/*"]
  }
}

其中include字段是指符合该通配符全网标识符的Provider,需要去/usr/share/terraform/providers查找本地Provider。./terraformrc的编写更详细的参数可以参考官网

相关文章
|
数据中心 iOS开发 MacOS
玩转阿里云 Terraform(三):Terraform 的安装和加速
本文以Mac OS为例,详细介绍如何在本地安装Terraform,并在文章最后介绍一种可以加速Terraform安装的方法。
16139 0
|
8月前
|
机器学习/深度学习 人工智能 自然语言处理
从零基础到双证在手:我的AI学习持证备考全记录
作为一名在传统行业打拼了三年的职场人,我深刻感受到人工智能浪潮带来的冲击——身边越来越多同事凭借AI技能提升工作效率,不少优质岗位的招聘要求里也明确标注“优先考虑AI相关认证持证人”。偶然间了解到CAIE注册人工智能工程师认证,其“零基础可学、国际认可、注重实战”的特点戳中了我的需求,于是下定决心开启备考之路。从一级入门到二级进阶,每一步都充满挑战却收获满满,如今回望,这份备考经历不仅让我拿到了权威认证,更让我真正掌握了AI应用技能,为职业发展打开了新赛道。
|
8月前
|
机器学习/深度学习 人工智能 运维
主流AI证书深度对比:从入门到进阶,怎么选不踩坑?
随着人工智能技术持续渗透各行各业,“懂AI”已从职业加分项变成不少岗位的基础要求。智联招聘数据显示,72%的AI相关岗位在招聘时会将“持有权威认证”作为筛选硬标准,持证者薪资溢价普遍达20%-35%。但市面上的AI证书五花八门,有国际大厂推出的技术认证,有国内厂商的生态绑定证书,还有适配零基础学习者的通用证书,到底哪款适合自己?本文就为你全面拆解主流AI证书的核心差异,帮你理清选择思路。
|
存储 Linux 持续交付
史上最全 Terraform 入门教程,助你无坑入门!
【10月更文挑战第26天】这是一个全面的 Terraform 入门教程,涵盖了 Terraform 的基本概念、安装步骤、基础配置、变量和输出变量的使用、模块的定义与使用,以及状态管理。通过实例讲解如何创建本地文件资源和 AWS S3 桶,帮助初学者快速上手并掌握 Terraform 的核心功能。
4770 8
|
Ubuntu Linux Shell
Linux环境下VSCode快速安装终极指南:debian/ubuntu/linux平台通用
以上就是在Linux环境下安装VSCode的终极指南,抛开繁复的专业词汇,以平易近人的文字、形象生动的比喻让你轻松学会这一过程。别忘了,你的小伙伴VSCode已经在应用菜单里等你了!
3502 23
|
前端开发 JavaScript
npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
1942 0
|
人工智能 运维 安全
阿里云跻身央国企上云服务商“全量领导者”
阿里云跻身央国企上云服务商“全量领导者”
1164 10
|
Web App开发 测试技术 数据中心
Terraform Module 编写指南
Module 是一个Terraform 模板,是对多个子节点,子资源,子架构模板的组合和抽象。利用Module 在降低模板编写和维护复杂度的同时,使得模板结构更加简洁清楚。为什么要使用 Module,详见文章[ Module 让 Terraform 使用更简单](https://www.atatech.org/articles/119465)。
8551 0
|
运维 Kubernetes API
Kubernetes operator 模式开发实践
0. 前言 近日我们在开发符合我们业务自身需求的微服务平台时,使用了 Kubernetes 的 Operator Pattern 来实现其中的运维系统,在本文,我们将实现过程中积累的主要知识点和技术细节做了一个整理。
3418 104

热门文章

最新文章