1 | Trerraform的使用及创建CVM

news2024/11/21 1:39:17

目录

  • 1 Trerraform简介
  • 2 Trerraform的安装
    • 2.1 参考地址
    • 2.2 安装方式
  • 3 使用Terraform管理腾讯云
    • 3.1 创建帐号并授权
    • 3.2 添加Terraform的环境变量
    • 3.3 配置provider文件
    • 3.4 terraform init
    • 3.5 terraform init -upgrade
    • 3.6 terraform plan
    • 3.7 terraform apply
    • 3.8 terraform destroy
  • 4 部署腾讯云资源
    • 4.1 创建服务器实例资源文件
    • 4.2 创建私有网络资源文件
    • 4.3 创建子网资源文件
    • 4.4 创建路由表资源文件
    • 4.5 创建安全组和安全规则资源文件
    • 4.6 验证
    • 4.7 销毁资源

1 Trerraform简介

Trerraform 是一种部署技术,任何想要通过基础设施即代码(Infrastructure as Code,IaC)方法来置备和管理基础设施的人,都可以使用这种技术。基础设施指的主要是基于云的基础设施,不过从技术上讲,任何能够通过应用程序编程接口(Application Programming Interface,API)进行控制的东西都可以算作基础设施。基础设施即代码是通过机器可读的定义文件来管理和置备基础设施的过程的。我们使用 IaC 来自动完成原本要由人手动完成的过程。

2 Trerraform的安装

2.1 参考地址

https://developer.hashicorp.com/terraform/downloads

在这里插入图片描述
在这里插入图片描述

2.2 安装方式

 sudo yum install -y yum-utils
 sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
 sudo yum -y install terraform

查看terraform的版本

terraform -version

3 使用Terraform管理腾讯云

在这里插入图片描述

  • 一次性配置 provider 文件以支持Tencent Cloud的OpenAPI
  • 使用Terraform配置语法生成 .tf 资源文件
  • 使用CLI实现腾讯云资源的管理

Terraform会将整个资源部署情况更新在 *.tf.state 文件中,让用户在前端控制台和后端平台都清晰的把控自己的云资源。

3.1 创建帐号并授权

登陆访问管理-用户-用户列表-新建用户,按照自己的方式选择创建用户,我选择了快速构建
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2 添加Terraform的环境变量

vim ~/.profile

 // Move terraform
$ mkdir downloads
$ mv terraform downloads/
$ vim ~/.profile
// Add terraform PATH
export PATH="$PATH:~/downloads"

重新加载~/.profile文件

 $ source ~/.profile

查看Terraform当前版本

$ terraform -version

3.3 配置provider文件

在新目录下创建 provider.tf 文件,填入秘钥和区域信息

    $ vim provider.tf
    
    //provider.tf
    provider "tencentcloud" {
        id  = "AKID****************"
        ke = "QdcM***************"
        region     = "ap-hongkong"
    }

注意:

保存该文件,执行 terraform init 初始化Terraform。此步骤,Terraform会自动检测 provider.tf文件中的 provider 字段,发送请求到Terraform官方GitHub下载最新版本腾讯云资源的模块和插件,初始化成功时当前脚本的版本信息也会显示出来。

腾讯云提供了另一种更为安全可靠的方式,把秘钥信息放在环境变量中配置

// Configure the secret key in the environment path
$ export TENCENTCLOUD_SEID="xxxxxxxxx"
$ export TENCENTCLOUD_SEY="xxxxxxxxx"
$ export TENCENTCLOUD_REGION="ap-hongkong"

provider.tf 文件中就可以省略掉相关信息

$ vim provider.tf  
// provider.tf
provider "tencentcloud" {}

3.4 terraform init

    // Initialize
    $ terraform init

在这里插入图片描述

3.5 terraform init -upgrade

指令更新脚本,获取最新的应用

3.6 terraform plan

预览将要完成的操作

3.7 terraform apply

进行资源部署

3.8 terraform destroy

进行资源销毁

4 部署腾讯云资源

这里提供一个在私有网络(VPC)下创建腾讯云服务器(CVM)的简单用例

4.1 创建服务器实例资源文件

    $ vim cvm.tf
    
    // Create a cvm
    resource "tencentcloud_instance" "cvm_test" {
        instance_name = "cvm-test"
        availability_zone = "ap-hongkong-1"
        image_id = "img-pi0ii46r"
        instance_type = "S2.SMALL1"
        system_disk_type = "CLOUD_PREMIUM"
      
        security_groups = [
            "${tencentcloud_security_group.sg_test.id}"
        ]

        vpc_id = "${tencentcloud_vpc.vpc_test.id"
        subnet_id = "${tencentcloud_subnet.subnet_test.id}"
        internet_max_bandwidth_out = 10
        count = 1
    }

这里可以看到,该服务器关联的安全组、私有网络和子网后面并没有直接填写具体参数信息,可以通过调用相关资源tf文件中的 id 字段内容实现具体的资源分配。本例中调用的就是安全组tf文件: sg_test ,私有网络tf文件: vpc_test ,路由表tf文件: route_table.tf和子网tf文件: subnet_test ,具体内容分别如下:

4.2 创建私有网络资源文件

    $ vim vpc.tf
    
    // Create a vpc
    resource "tencentcloud_vpc" "vpc_test" {
        name = "vpc-test"
        cidr_block = "10.0.0.0/16"
    }

4.3 创建子网资源文件

    $ vim subnet.tf
    
    // Create a subnet
    resource "tencentcloud_subnet" "subnet_test" {
        name = "subnet-test"
        cidr_block = "10.0.1.0/24"
        availability_zone = "ap-hongkong-1"
        vpc_id = "${tencentcloud_vpc.vpc_test.id}"
        route_table_id = "${tencentcloud_route_table.rtb_test.id}"
    }

4.4 创建路由表资源文件

    $ vim route_table.tf
     
    // Create a route table
    resource "tencentcloud_route_table" "rtb_test" {
        name = "rtb-test"
        vpc_id = "${tencentcloud_vpc.vpc_test.id}"
    }

4.5 创建安全组和安全规则资源文件

    $ vim security_group.tf
    
    // Create a security group and rule
    resource "tencentcloud_security_group" "sg_test" {
        name = "sg-test"    
    }

    resource "tencentcloud_security_group_rule" "sg_rule_test" {
        security_group_id = "${tencentcloud_security_group.sg_test.id}"
        type = "ingress"
        cidr_ip = "0.0.0.0/0"
        ip_protocol = "tcp"
        port_range = "22,80"
        policy = "accept"
    }

执行 terraform plan 查看部署计划,一共有6个资源计划创建
在这里插入图片描述
在这里插入图片描述
参数解释:

  • +代表新添加的资源
  • 当销毁资源时,参数前面对应的符号会变为-
  • 更改一些参数需要重新部署资源时,该资源前面的符号为-/+
  • 在旧参数和新参数内容之间有→符号标识
    在这里插入图片描述
    执行 terraform apply 进行资源创建
    在这里插入图片描述
    输入【yes】 ,显示成功创建资源
    在这里插入图片描述

4.6 验证

到控制台进行查看创建的是否正确
在这里插入图片描述

4.7 销毁资源

在这里插入图片描述
输入【yes】,显示成功销毁资源
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/106277.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

5分钟让你做出HR一眼看中的简历,方法简单易操作

写简历,真的是个“力气活”。 但凡求职经验丰富的朋友们,可以仔细想一想,之前我们面试求职的过程中,哪次不是通宵达旦在修改和“润色”简历中,在写简历里费劲功夫,目的还是为了引起HR的关注,从…

DASOU知识星球学的知识图谱

1.经典课程 1.经典课程 东南大学研究生课程: 东南大学研究生课程: https://github.com/npubird/KnowledgeGraphCourse 书籍推荐: 知识图谱的书籍的话可以看下作者是王昊奋【知识图谱:方法、实践与应用】那本书,算是近些年出版的里面质量不错的了&…

解决问题:VMware Tools 启动脚本未能在虚拟机中成功运行。

目录 问题 解决 方法一、重装 open-vm-tools-desktop 方法二、重装 vmware-tools 问题 Ubuntu 虚拟机开机时提示报错,具体信息如下: VMware Tools 启动脚本未能在虚拟机中成功运行。如果您在此虚拟机中配置了自定义启动脚本,请确保该脚本…

USB TO SPI(上海同旺电子)调试器调试TC77温度传感器(三线SPI)

所需设备: 1、USB TO SPI(上海同旺电子); 2、TC77 带 SPI 接口的温度传感器; 特别注意TC77温度传感器(三线制SPI) 特性 • 5引脚 SOT-23A 和8引脚SOIC 封装的数字温度传感器 • 以13 位数字字格式输出温度值 • SPI 和 MICROWIRE™ 兼容接口 • 固态…

IB科学课程的Group 4 project是什么?

。IBDP第4科学科目组中的科学类课程是必选课程。中国IB学生常选物理、化学、生物、计算机科学这类IB科学课程。这些IBDP科学课程都有一个共同的课程项目,那就是——The group 4 project! 什么是The group 4 project? The group 4 project是一…

图表控件TeeChart for .NET系列教程四:轴控制(中)

TeeChart for .NET是优秀的工业4.0 WinForm图表控件,官方独家授权汉化,集功能全面、性能稳定、价格实惠等优势于一体。TeeChart for .NET 中文版还可让您在使用和学习上没有任何语言障碍,至少可以节省30%的开发时间。 TeeChart for .NET最新…

【Python黑帽子】——简易的ZIP文件密码破解器

作者名:Demo不是emo 主页面链接:主页传送门 创作初心:舞台再大,你不上台,永远是观众,没人会关心你努不努力,摔的痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷座…

[翻译+笔记]生成对抗网络: 从GAN到WGAN

最近读了一篇社会力模型的论文, 里面用到了GAN, 发现自己不是很懂. 想翻译一下一个大神的博客, 做一下笔记. 并不是全文翻译, 只翻译一部分. 原文地址: from GAN to WGAN 1. K-L和J-S散度 在介绍GAN之前, 首先复习一下衡量两个概率分布相似度的两种指标. (1) K-L散度: KL散度…

java Lambda表达式 省略模式写法

我们先来看一个普通的Lambda表达式 我们创建一个包 下面创建一个接口 testInterface 参考代码如下 public interface testInterface {int eat(int max,int min); }text 测试类 参考代码如下 public class text {public static void main(String args[]) {newTestInterface(…

夺冠热度空前,梅西Instagram粉丝破4亿,跨境卖家如何借这股东风?

阿根廷队世界杯夺冠,35岁的梅西终于实现了职业生涯大满贯,全世界球迷都在为梅西欢呼。梅西夺冠的热度席卷全球,当前其Instagram账号的粉丝就突破了4亿,成为世界上第二个Instagram粉丝超4亿的人。 梅西夺冠当日在Instagram上的发帖…

易观千帆 | 2022年11月银行APP月活跃用户规模盘点

易观分析:11月手机银行服务应用活跃人数52639.05万,环比增长0.68%;排在前三的手机银行APP仍然为中国工商银行、中国农业银行、中国建设银行。 11月城商行手机银行服务应用活跃人数3730.98万,环比增长4.64%,从月活表现来…

Spring Boot 实现 SSE 服务端推送事件

源码地址 关于 SSE SSE 全程 Server Send Event,是 HTTP 协议中的一种,Content-Type 为 text/event-stream,是服务端主动向前端推送数据。类似于 WebSocket。 SSE 优势我们可以划分为两个: 长链接服务端能主动向客户端推送数据…

想要精通算法和SQL的成长之路 - 编辑距离

想要精通算法和SQL的成长之路 - 编辑距离前言一. 编辑距离1.1 定义动态规划数组1.2 定义动态规划方程1.3 定义数组的初始化1.4 最终答案前言 想要精通算法和SQL的成长之路 - 系列导航 一. 编辑距离 原题链接 给你两个单词 word1 和 word2, 请返回将 word1 转换成 …

DataFactory根据字段类型在mysql插入数据

目录 插入Varchar类型数据 场景一:主键使用uuid 场景二:从外部导入数据 场景三:使用组合方式 插入data类型日期数据 插入Varchar类型数据 insert value from an data table :表示可以通过外部数据创建数据表插入字符串值 i…

实验二B 图像的空域与频域滤波(源代码一站式复制粘贴)

实验二B 图像的空域与频域滤波一、实验目的二、实验原理三、实验内容与要求四、实验的具体实现一、实验目的 1.掌握图像滤波的基本定义及目的。 2.理解空间域滤波的基本原理及方法。 3.掌握进行图像的空域滤波的方法。 4.掌握傅里叶变换及逆变换的基本原理方法。 5.理解频域滤…

算法刷题打卡第52天:排序数组---桶排序

排序数组 难度:中等 给你一个整数数组 nums,请你将该数组升序排列。 示例 1: 输入:nums [5,2,3,1] 输出:[1,2,3,5]示例 2: 输入:nums [5,1,1,2,0,0] 输出:[0,0,1,1,2,5]桶排序…

2022 CSDN 客服年终总结

hello,大家好,这里是《听用户心声,解用户之需》之 2022 年终总结篇。 秉承“用户至上”的服务理念,为了给用户提供极致的服务体验而时刻努力着,2022年,在大家的一致努力下,究竟有何成效呢&#…

SpringBoot1:helloword、导入依赖、配置项设置,打包方法、lombok、dev-tools、Spring Initailizr、常见注解

1.简介 简化Spring开发的一个框架。对整个Spring技术栈的大整合 J2EE企业级开发的一站式解决方案。 2.微服务 一个应用应该是一组小型服务,可以通过HTTP的方式来进行互通 每一个功能元素都是可独立替换,和独立升级的软件单元。 3.HelloWord 功能&am…

Stm32标准库函数5——OV2640 PA0-7 F103C8T6 4500000 联合VB 高分辨率

stm32f103c8t6串口发送 OV2640的图像,分辨率可选。网络上资料大部分是低分辨率的,这个可以做高分辨率 完整工程打包,包含VB串口显示界面: https://download.csdn.net/download/fengyuzhe13/87327054https://download.csdn.net/do…

【经典问题:HanoiTower(汉诺塔)】

🎁HanoiTower🎅HanoiTower问题描述🎅🎅模拟推导🎅🎅🎅问题的两种形式🎄求解移动总次数🎄🎄打印详细的移动过程🎅HanoiTower问题描述 汉诺塔问题&a…