首页 > 其他分享 >现代IT基础设施管理(1):Terraform初识和小试牛刀

现代IT基础设施管理(1):Terraform初识和小试牛刀

时间:2024-11-11 20:41:13浏览次数:1  
标签:基础设施 实例 terraform AWS Terraform 初识 执行 小试牛刀

基础设施包括各种云,像国内的阿里云、腾讯云和华为云,国外的AWS、微软Azure云和谷歌云,还有Kubernetes和OpenStack,都可以用Terraform进行资源管理。使用基础设施即代码(Infrastructure as Code, IaC)的方式来管理基础设施,这是现代IT基础设施管理的一个重要趋势,它允许我们以代码的形式定义基础设施,实现基础设施的自动化部署,确保基础设施配置的一致性,方便进行版本控制和变更管理。

Terraform属于基础设施即代码工具,官网地址:https://www.terraform.io/,产品定位:使用 Terraform 在任何云上进行自动化基础架构,高效管理基础设施,阿里云和腾讯云是Terraform合作伙伴,使用和下载量都不小,华为云是自己在维护,没有合作伙伴标识。

安装,直接在官网下载页找到对应系统下载安装即可,Linux、macOS和Windows都支持,下面通过一个演示示例体验一下Terraform具体操作,用的是AWS云,AWS提供了750小时2核CPU-1G内存虚拟机的免费使用,Terraform演示示例所需配置文件在https://github.com/robin-2016/terraform-demo代码仓库下,下面进行一个简单的创建一个虚拟机的demo演示示例:

先将代码仓库克隆到本地,进入demo-1目录下,下图就是main.tf文件全部内容。先来解释文件内容对应的含义,provider部分为对应的供应商,现在使用的是AWS,region是配置区域,ap-east-1为香港地区,access_key和secret_key为AWS账号生成的AK和SK。resource部分为创建的资源,这里设置的虚拟机实例,ami为虚拟机实例镜像id,是Ubuntu server24.04的镜像,instance_type为虚拟机实例规格,t3.micro是AWS提供的免费规格,2核CPU-1G内存,下面开始实操实验。

演示实验

第一步:填写AWS的AK和SK分别对应access_key和secret_key,执行“terraform init”初始化,会创建一个lock文件.terraform.lock.hcl,后续需要添加到代码仓库中

初始化后,可以执行“terraform validate”来验证配置文件是否正确,不是必须执行,必须在init初始化之后执行

第二步:在执行具体操作前,再执行“terraform plan”查看要执行内容,避免误操作,这里可以看到返回结果显示是将要创建一个AWS的虚拟机实例。这一步也可以不执行,可以跳过执行第三步,感觉还是先看一下执行内容比较放心。

第三步:确定好执行plan后符合预期,继续操作,执行“terraform apply“,输入yes确认操作,等待一会,一台实例就创建好了,显示“Apply complete”表明执行完成。

登录到AWS控制台,看到有一台刚刚创建的实例,也可以更改实例类型后再执行一次apply,现有的实例会销毁再创建对应类型的实例。

第四步:演示实验完成后,执行“terraform destroy“销毁资源,上面创建出来的实例就会被删除,同样要求输入yes来确认操作。

在演示实验结束后,查看目录,会生成两个文件:terraform.tfstate和terraform.tfstate.backup,这两个文件是用来记录terraform远程状态的,所以要保证在操作terraform之前这两个状态文件是最新的,两个状态文件可以存储在terraform提供的远程空间里,如果操作少一些也可以保存在代码仓库一个单独目录下。

Terraform可以用来管理vpc、安全组和dns记录等云上的大部分资源,还可以搭配自定义镜像+Linux脚本方式,完成应用程序层面部署,特别是有多个云账号需要管理,或者频繁初始化部署的情况下,能大大提高管理效率,一次编写执行多次。

以上为Terraform的初级使用分享,如果对你有帮助,请关注留言互动,如果需要Terraform具体云服务商教程请留言咨询,嘿嘿。

标签:基础设施,实例,terraform,AWS,Terraform,初识,执行,小试牛刀
From: https://www.cnblogs.com/robindevnotes/p/18540552

相关文章

  • Python基础(1):初识python、环境配置、数据类型、循环语句
    简介:python是一个解释性、编译性、互动性和面向对象的脚本语言python是一种解释性语言:开发过程中没有了编译环节python是一种交互式语言:意味着可以在cmd窗口输入python,>>>后直接执行代码Python是面向对象的语言:意味着python支持面向对象的风格或代码封装在对象的编程技......
  • 头歌解答 初识Redis
    第1关:Redis中的数据结构编程要求根据提示,打开命令行,启动Redis客户端并创建一些值:使用默认配置后台启动Redis服务器启动Redis客户端redis-cli设置字符串键为hello值为redis设置列表,键为educoder-list从列表左侧推入元素hello从列表右侧推入元素educode......
  • 135机型-初识
    NikonFE生产年代:1978年机型:35mm单反(35mm胶片非常有电影感)亮点:第一款将光电传感器直接集成到电路封装的相机上快门:电子快门,速度8秒到1/1000秒操作性:手动对焦,兼具A档和M档  OlympusPenFv/Ft生产年代:PenF-1963年9月,FT-1966年(内置测光表),FV-1967年(没有测光系统)......
  • 初识指针,结构体
    <1,内存计算机对内存的使用就像现实世界对空间的使用。将一个空间(内存)划分为一个个的格子1,内存利用地址线携带的电信号进行编号,如32位电脑有2的32次方个地址2,一个内存单元是1byte(这是经过权衡之后的结果)<2,地址当取a的地址时,实际上获取的是其所占四个字节的第一个字节的......
  • Python和Terraform和状态管理
    让我为您详细介绍如何基于Python和Terraform实现云端自动部署,包括最佳实践、状态管理以及如何使用Python管理Terraform的状态。目录整体架构概述项目结构Terraform状态管理使用Python管理Terraform最佳实践示例代码1.项目结构2.Terraform配置3.Python脚......
  • 反欺诈算法 - 知识图谱最短路径算法-初识
    1.引言反欺诈技术在金融、电商、社交等行业中扮演着至关重要的角色。随着网络欺诈手段的日益复杂,传统的基于规则的反欺诈检测方法难以应对多变的欺诈模式。为此,知识图谱作为一种强大的数据结构,通过节点(实体)和边(关系)来表达和存储数据,成为了反欺诈检测的一个重要工具。结合......
  • ue4资产序列化从入门到精通: 第一章 初识序列化
    一、写作目的:(全文字数4926,阅读大约需25min)首先,我有一个相关的需求要做,然后在拜读了网络上各大UE4序列化解析的文章后,发现大都讲的很模糊,对新入序列化大门的小白非常不友好。有的直接贴上一大段代码(好似直接糊脸上的不解释连招),也有的讲着讲着嘎然而止,也有的总是讲一些空洞的理......
  • 初识AI大模型,ollama使用,llama factory大模型微调,lama.cpp模型转换guff
    最近了解了下生成式AI对话,下面是自己的一些尝试记录。ollama安装及使用1、安装我是在windows环境下安装的,很简单,访问:https://ollama.com/,下载windows安装包,打开安装就行了。cmd输入ollama-v检验是否安装成功。    2、配置在环境变量的......
  • Redis1:初识Redis
    欢迎来到“雪碧聊技术”CSDN博客!在这里,您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者,还是具有一定经验的开发者,相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导,我将不断探索Java的深邃世界,分享最新的技术动态、实战经验以及项目......
  • 【落羽的落羽 C语言篇】操作符、二进制·之其一:初识编码方式及位操作符
    文章目录一、操作符1.操作符的分类2.操作符的属性2.1优先级2.2结合性二、二进制1.原码、反码、补码2.位操作符2.1左移操作符<<2.2右移操作符>>2.3&|^~一、操作符在C语言中,操作符是用于执行各种操作的符号,它们是构成语法、表达式的基本元素1.操......