首页 > 其他分享 >terraform简单的开始-安装和一些配置

terraform简单的开始-安装和一些配置

时间:2023-09-13 21:02:39浏览次数:62  
标签:tencentcloud 配置 terraform secret 密钥 腾讯 安装

terraform的安装:

官方下载:

浏览器打开terraform官方主页https://www.terraform.io/ 点击Download Terraform 跳转到程序下载页面: image.png 找到自己对应的操作系统,按照操作系统选择安装terraform的方式: image.png

linux为例:

我有一台 rocky linux 工作主机也是直接参照官方文档安装的: image.png

terraform --version

不一样的windows:

官方的方式

注:我的系统是Windows10专业版! image.png image.png but 要配置系统变量....我个人是很嫌弃麻烦。这里参考了ucloud在知乎上面的Chocolate的安装方式:

Chocolate

Terraform初体验(一) windows安装。不求甚解,先跑一遍: 以管理员身份打开powershell: image.png

安装Chocolatey
  1. 以管理员身份打开PowerShell,输入Get-ExecutionPolicy,返回Bypass则代表目前执行的是绕过策略来安装。如果返回的是Restricted受限制的,则需要运行Set-ExecutionPolicy AllSigned 或者 Set-ExecutionPolicy Bypass -Scope Process。

image.png

  1. 既然是Restricted受限制的,复制下面这条命令即可安装完成,这里没有太多坑。
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::Sec

img_v2_26333acf-b915-4be8-9219-b0e16d11a7bg.jpg

通过Chocolatey安装Terraform

执行命令choco install terraform 按照提示中间输入y,安装完成后输入terraform --version 确认安装成功。 img_v2_64fb57f0-ee2a-4a94-8840-46634d5c096g.jpg 如果有网络或者其他问题可以参考ucloud的知乎笔记:https://zhuanlan.zhihu.com/p/266784852

vscode相关插件的安装

vs code 安装就忽略了 安装一下terraform的组件: img_v2_dba9422b-21a1-435c-8fd8-c24ba8d6d80g.jpg

vscode terraform 腾讯云

凭证获取

参照腾讯云官方文档https://cloud.tencent.com/document/product/1653/82868 在首次使用 Terraform 之前,请前往 云 API 密钥页面 申请安全凭证 SecretId 和 SecretKey。若已有可使用的安全凭证,则跳过该步骤。

  1. 登录 访问管理控制台,在左侧导航栏,选择访问密钥 > API 密钥管理
  2. 在 API 密钥管理页面,单击新建密钥,即可以创建一对 SecretId/SecretKey。 image.png 创建一个项目文件夹,使用vs code打开: image.png

创建一个简单demo?

vscode 打开文件夹,以windows为例: image.png从main.tf开始,创建一个main.tf文件 image.png 参照官方文档:

terraform {
  required_providers {
    tencentcloud = {
      source = "tencentcloudstack/tencentcloud"
      version = "1.81.25"
    }
  }
}

provider "tencentcloud" {

  # Configuration options
}

现在要在provider中引入腾讯云的配置。怎么样合理的引用呢?询问了一下cluda: image.png 总结一下:

  1. 直接在provider模块中指定,这种应该是最直接的
  2. 环境变量
  3. 创建一个tfvar的文件写入
  4. 使用命令行参数

我个人这里下使用第三种了创建一个tfvar的文件...毕竟展示过程的时候可以不显示我的密钥哈哈哈哈

terraform init

初始化项目:

 terraform init

image.png 当然也会出现下面这种状况 image.png image.png 参照:https://cloud.tencent.com/document/product/1653/82912,到用户加目录下创建.terraformrc文件。阿里云或者华为云应该也有类似的方法:

provider_installation {
  network_mirror {
    url = "https://mirrors.tencent.com/terraform/"
    // 限制只有腾讯云相关Provider, 从url中指定镜像源下载
    include = ["registry.terraform.io/tencentcloudstack/*"]   
  }
  direct {
    // 声明除了腾讯云相关Provider, 其它Provider依然从默认官方源下载
    exclude = ["registry.terraform.io/tencentcloudstack/*"]
  }
}

image.png image.png

简单例子:查询区域下可用区列表:

创建一个 变量的文件credentials.tfvars

secret_id  = "xxxxxxxxxxxxxxx"
secret_key = "xxxxxxxxxxx"

image.png 创建main.tf文件:

terraform {
  required_providers {
    tencentcloud = {
      source = "tencentcloudstack/tencentcloud"
      version = "1.81.25"
    }
  }
}
variable "region" {
  description = "腾讯云地域"
  type    = string
  default     = "ap-shanghai"
}
variable "secret_id" {}
variable "secret_key" {}

# 设置腾讯云提供者
provider "tencentcloud" {
  secret_id  =var.secret_id
  secret_key = var.secret_key 
  region = var.region
}
data "tencentcloud_availability_zones" "availability_zones" {}

output "zones" {
  value = data.tencentcloud_availability_zones.availability_zones
}


terraform plan 检查:

 terraform plan -var-file=credentials.tfvars

image.png terraform apply执行:

terraform apply -var-file=credentials.tfvars

image.png 就是列一个简单例子这里,主要是为了密钥文件与main 分开 当然了这里还有data output这些字段也会逐步展现一下!

标签:tencentcloud,配置,terraform,secret,密钥,腾讯,安装
From: https://blog.51cto.com/saynaihe/7464021

相关文章

  • ubuntu redis安装
    1.1更新仓库sudoaptupdate1.2使用apt从官方Ubuntu存储库来安装Redissudoapt-getinstallredis-server二、设置密码2.1打开Redis配置文件redis.confsudovi/etc/redis/redis.conf2.2找到#requirepassfoobared这一行,将注释符号#去掉,将后面修改成自己的密......
  • ubuntu安装mysql8
    默认安装5.x版本sudoaptinstallmysql-server安装8.x版本,请继续往下看:https://dev.mysql.com/downloads/repo/apt/查看最新的mysql版本apt-getupdatewgethttps://repo.mysql.com//mysql-apt-config_0.8.26-1_all.debdpkg-imysql-apt-config_0.8.26-1_all.debapt-ge......
  • java的配置类 取代xml配置文件
    配置类以及对注解@Value的使用//TODO:创建java的配置类取代xml配置文件@Configuration//配置类注解@ComponentScan({"com.wind.dao","com.wind.service"})//包扫描注解配置可存入多个包@PropertySource(value="classpath:jdbc.properties")//引用外部文件......
  • CentOS7安装Tomcat9并设置开机启动
    1.配置tomcat开机启动创建服务名xxxxxx.service文件,编辑之后保存即可cd/usr/lib/systemd/systemvixxxxxx.service插入以下内容[Unit]Description=TomcatAfter=syslog.targetnetwork.targetremote-fs.targetnss-lookup.target[Service]Type=oneshotExecSt......
  • nginx常用配置和nginx镜像验证配置
    目的总结项目中常用的nginx配置,然后通过docker构建一个nginx镜像来快速使用和验证。目录结构 nginx配置nginx.conf文件:usernginx;worker_processesauto;error_log/var/log/nginx/error.lognotice;pid/var/run/nginx.pid;events{worker_connecti......
  • springboot 整合 nacos 实现配置文件统一管理 和 服务注册
    1.我使用的是 nacos-server-1.4.1 直接启动nacos没有配置数据库那些.\startup.cmd-mstandalone2.启动后在nacos中创建命名空间配置文件 注意命名空间的id我是自己定义的还有group到时候配置错了服务又不会报错只是会读取不到3.springboot配置 server-addr......
  • 记一次在 win10 家庭版上安装 docker desktop
    docker在很久之前,我尝试过在我的笔记本上安装这个玩意失败了。今天,在公司台式机上,终于折腾出来了。记一下遇到的问题和解决办法现在PS直接可以运行docker命令首先安装hyper-VWin10家庭中文版安装Hyper-Vhttps://zhuanlan.zhihu.com/p/51939654检查下载安装docker......
  • 45、交换机配置备份
    交换机配置备份首先要保证交换机时间的准确,需要配置ntp自动校时服务,需要对交换机配置定时采集并将配置文件命名为新配置文件,发送到tftp服务器,同时也需要将交换机备份的新配置文件删除,随着时间延长交换机存储空间满无法运行。使用3cdaemon来搭建ftp服务器上传下载交换机文件夹。官......
  • .net core(微服务学习)-使用 AgileConfig轻量配置中心
    由于之前项目维护的时候有多个API服务,发布时候又做了高可用多主机均衡负载,环境又有多套,当部署新代码的时候如果有新增配置项需要修改N个环境和服务器实属折磨人    我们知道每个.netcore中都有一个appsettings.json的配置文件,由于之前项目有3个环境,一共有4台主机,每个主......
  • Terraform 状态不同步处理
    背景在使用Terraform创建TencentCloudTKE的时候,手贱把nodepool删掉了。导致执行destroy,plan都会报错。│Error:[TencentCloudSDKError]Code=InternalError.UnexpectedInternal,Message=relatednodepoolqueryerr(getnodepoolfailed:[E501001DBRecordNotFou......