在 Ubuntu 上部署 Terraform 管理平台:实现云基础设施的集中管理

简介

Terraform 是一款开源基础架构自动化工具,可让您通过命令行界面部署和管理数百台服务器。使用 Terraform,你可以通过在一个人类可读的文件中定义配置来构建、更改和管理你的基础架构。它支持许多云提供商,如 AWS、Azure、GCP 和阿里巴巴云。Terraform 允许你自动配置服务器、数据库、防火墙、负载平衡器等。

本教程将介绍如何在 Ubuntu 22.04 上安装 Terraform。

接下来,我将一步一步教大家如何进行安装和部署!!

准备工作

服务器准备

必要前提:

  • 一个充满求知欲的大脑。
  • 一台 Linux 服务器(推荐腾讯云、阿里云或雨云等)。

我将以 雨云 为例,带大家创建一台自己的云服务器,以便学习本篇文章的内容。

注册链接: https://rainyun.ivwv.site

创建雨云服务器

以下步骤仅供参考,请根据实际需求选择配置。

  • 点击 云产品云服务器立即购买
  • 选择距离你较近的区域,以保证低延迟。

https://img-blog.csdnimg.cn/img_convert/4c16271f125adea69da6ed9e7b2a4226.png

  • 按照自己需求选择配置,选择Ubuntu 22.04 版本,按照自己需求是否预装Docker。
  • 最后按照提示进行购买。
  • 购买后等待机器部署完毕,点击刚刚创建好的服务器,进入管理面板,找到远程连接相关信息。

https://img-blog.csdnimg.cn/img_convert/414570cd3da48d4cc4bf51489992000b.png

  • 我们使用 PowerShell 进行 SSH 远程连接到服务器,Win+R 打开运行窗口,输入 powershell 后点击确定。

https://img-blog.csdnimg.cn/img_convert/c8afbeb764459a37a8451dd2ed8eeff1.png

  • 输入 ssh root@你的服务器IP 例如 ssh root@154.9.227.239 回车后,首次需要输入 yes,再次回车后即可登录服务器。

https://img-blog.csdnimg.cn/img_convert/ea5814f1d1068ca9fa2bb94631cfbdf1.png

  • 到此为止,我们的云服务器就远程连接上了。

从 Ubuntu 仓库安装 Terraform

默认情况下,Terraform 软件包在 Ubuntu 22.04 的默认软件源中不可用。因此,你需要在系统中添加 Terraform 官方软件仓库。

首先,使用以下命令添加所有需要的依赖项:

apt install -y gnupg software-properties-common curl -y

安装完所有依赖项后,使用以下命令添加 Terraform GPG 密钥和版本库:

curl -fsSL https://apt.releases.hashicorp.com/gpg | apt-key add -
apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

添加版本库后,可以使用以下命令安装 Terraform 软件包:

apt install terraform -y

安装成功后,使用以下命令验证 Terraform 版本:

terraform --version

你会看到以下输出:

Terraform v1.3.6
on linux_amd64

从源代码安装 Terraform

你也可以从 Terraform 的官方网站下载最新版本来安装 Terraform。

你可以使用以下命令下载:

wget https://releases.hashicorp.com/terraform/1.3.6/terraform_1.3.6_linux_amd64.zip

下载完成后,使用以下命令解压下载的文件:

unzip terraform_1.3.6_linux_amd64.zip

然后,将 Terraform 二进制文件移动到系统位置:

mv terraform /usr/bin/

现在可以使用以下命令验证 Terraform 版本:

terraform --version

将得到以下输出:

Terraform v1.3.6
on linux_amd64

安装 Terraform "自动完成 "功能

“自动完成”允许你在按下 TAB 键后查看所有 Terraform 子命令。可以使用以下命令安装该功能。

terraform -install-autocomplete

要激活 "自动完成 "功能,请注销并重新登录终端 shell 或运行以下命令:

source ~/.bashrc

接下来,运行 Terraform 命令并按两次 TAB 键验证 "自动完成 "功能。

terraform

你应该能在以下输出中看到所有子命令:

apply         env           get           init          output        push          state         untaint       workspace
console       fmt           graph         login         plan          refresh       taint         validate
destroy       force-unlock  import        logout        providers     show          test          version

如何使用 Terraform

要使用 Terraform,首先要为项目创建一个目录:

mkdir aws

然后,导航到项目目录,创建 Terraform 配置文件:

cd aws
nano main.tf

添加以下代码

# Provider
 provider "aws" {
   access_key = ""
   secret_key = ""
   region = "us-west-1"
 }

保存并关闭文件,然后使用以下命令初始化 Terraform:

terraform init

这会自动将提供程序配置下载到 .terraform 目录中。

Initializing the backend...

Initializing provider plugins...
- Finding latest version of hashicorp/aws...
- Installing hashicorp/aws v4.46.0...
- Installed hashicorp/aws v4.46.0 (signed by HashiCorp)

Terraform has created a lock file .terraform.lock.hcl to record the provider
selections it made above. Include this file in your version control repository
so that Terraform can guarantee to make the same selections by default when
you run "terraform init" in the future.

Terraform has been successfully initialized!

You may now begin working with Terraform. Try running "terraform plan" to see
any changes that are required for your infrastructure. All Terraform commands
should now work.

If you ever set or change modules or backend configuration for Terraform,
rerun this command to reinitialize your working directory. If you forget, other
commands will detect it and remind you to do so if necessary.

接下来,你需要定义资源定义、设置 AWS 变量,然后生成并显示执行计划。

您可以使用以下命令生成执行计划:

terraform plan

最后,使用以下命令构建和部署基础设施:

terraform apply

如果要销毁 Terraform 管理的基础架构,请运行以下命令:

terraform destroy

结论

在这篇文章中,我们向你展示了如何在 Ubuntu 22.04 上安装 Terraform。我们还介绍了如何使用 Terraform 配置 AWS 实例。现在,你可以根据云提供商的要求创建自己的 Terraform 配置文件。更多使用教程,可以访问 Terraform 文档 页面。

相关链接
雨云 - 新一代云服务提供商: https://rainyun.ivwv.site
我的博客:https://blog.ivwv.site

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

概率论得学习和整理25:EXCEL 关于直方图/ 频度图 /hist图的细节,2种做hist图的方法

目录 1 hist图的特点 2 hist的设置技巧:直接生成的hist图往往很奇怪不好用:因为横轴的分组不对 3 如何修改分组 4 设置开放边界,把长尾合并,得到hist图1 5 用原始表得到频数表 6 用上面的频数图做柱状图,再修改&…

RabbitMQ的核心组件有哪些?

大家好,我是锋哥。今天分享关于【RabbitMQ的核心组件有哪些?】面试题。希望对大家有帮助; RabbitMQ的核心组件有哪些? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 RabbitMQ是一个开源的消息代理(Messag…

桥接模式的理解和实践

桥接模式(Bridge Pattern),又称桥梁模式,是一种结构型设计模式。它的核心思想是将抽象部分与实现部分分离,使它们可以独立地进行变化,从而提高系统的灵活性和可扩展性。本文将详细介绍桥接模式的概念、原理…

【原创教程】西门子1500TCP_UDP通信说明大全(下篇)

2.3.3 TRCV故障说明 通讯无法正常连接时,ERROR引脚和STATUS引脚得状态有助于我们判断错误得原因,根据下表得提示,快速排除问题。 2.3.4 TRCV使用 点击TRCV指令得右上角蓝色图标,打开开始组态画面,按照控制要求填写 EN_R:用于激活接收的控制参数,及何时使用TRCV的接收功…

Grafana配置告警规则推送企微机器人服务器资源告警

前提 已经部署Grafana,并且dashboard接入数据 大屏编号地址:Node Exporter Full | Grafana Labs 创建企微机器人 备注:群里若有第三方外部人员不能创建 机器人创建完成,记录下来Webhook地址 Grafana配置告警消息模板 {{ define &…

RabbitMQ如何构建集群?

大家好,我是锋哥。今天分享关于【RabbitMQ如何构建集群?】面试题。希望对大家有帮助; RabbitMQ如何构建集群? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在RabbitMQ中,集群(Cluster&#x…

JDK以及JRE

目录 1.常用的快捷键操作2.重要的dos命令3.Jre(java Runtime environment)4.Jdk(java development kit)5.安装JDK6.JDK的目录7.Jdk的环境变量配置8.写第一个java程序8.1 安装UE软件8.2 写第一个HelloWorld 9.java运行机制 1.常用的…

Groovy 语法快速入门

文章目录 1. Groovy 的特点2. 基本语法2.1. 变量2.2. 字符串2.3. 条件语句 3. 集合操作3.1. 列表(List)3.2. 映射(Map) 4. 循环语句4.1. 普通循环4.2. 闭包遍历 5. 方法定义6. 闭包(Closure)6.1. 定义与调用…

MySQL 事务管理

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 MySQL 事务管理 收录于专栏[MySQL] 本专栏旨在分享学习MySQL的一点学习笔记,欢迎大家在评论区交流讨论💌 目录 CURD 不加控制&#xff0…

【大模型微调学习5】-大模型微调技术LoRA

【大模型微调学习5】-大模型微调技术LoRA LoRa微调1.现有 PEFT 方法的局限与挑战2.LoRA: 小模型有大智慧 (2021)3.AdaLoRA: 自适应权重矩阵的高效微调 (2023)4.QLoRA: 高效微调量化大模型 (2023) LoRa微调 1.现有 PEFT 方法的局限与挑战 Adapter方法,通过增加模型深…

Windows server服务器之网络安全管理(防火墙入站规则创建)

任务14.1 Windows server 防火墙的管理 系统防火墙概述:无论哪一种操作系统都有自己的防火墙,无论是客户端OS还是服务器端的NOS都有防火墙。 winr-control----打开控制面板 上图是Windows客户端的防火墙,三个重点要关注的内容;网…

【Python】PyWebIO 初体验:用 Python 写网页

目录 前言1 使用方法1.1 安装 Pywebio1.2 输出内容1.3 输入内容 2 示例程序2.1 BMI 计算器2.2 Markdown 编辑器2.3 聊天室2.4 五子棋 前言 前两天正在逛 Github,偶然看到一个很有意思的项目:PyWebIo。 这是一个 Python 第三方库,可以只用 P…

四、CSS3

一、CSS3简介 1、CSS3概述 CSS3 是 CSS2 的升级版本,他在CSS2的基础上,新增了很多强大的新功能,从而解决一些实际面临的问题。 CSS在未来会按照模块化的方式去发展:https://www.w3.org/Style/CSS/current-work.html …

Loki 微服务模式组件介绍

目录 一、简介 二、架构图 三、组件介绍 Distributor(分发器) Ingester(存储器) Querier(查询器) Query Frontend(查询前端) Index Gateway(索引网关&#xff09…

上海亚商投顾:创业板指缩量下跌 多只高位股午后跌停

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 市场全天震荡调整,创业板指领跌,高位股开始出现退潮,建设工业、星光股份、…

libnanomsg详解

libnanomsg,或简称为nanomsg,是一个高性能的消息传递库,它为开发者提供了简单且高效的“可扩展协议”实现。以下是对libnanomsg的详细解析: 一、基本概述 项目地址:GitCode - 全球开发者的开源社区,开源代码托管平台 …

MySQL基础大全(看这一篇足够!!!)

文章目录 前言一、初识MySQL1.1 数据库基础1.2 数据库技术构成1.2.1 数据库系统1.2.2 SQL语言1.2.3 数据库访问接口 1.3 什么是MySQL 二、数据库的基本操作2.1 数据库创建和删除2.2 数据库存储引擎2.2.1 MySQL存储引擎简介2.2.2 InnoDB存储引擎2.2.3 MyISAM存储引擎2.2.4 存储引…

geoserver 瓦片地图,tomcat和nginx实现负载均衡

在地理信息系统(GIS)领域,GeoServer作为一个强大的开源服务器,能够发布各种地图服务,包括瓦片地图服务。为了提高服务的可用性和扩展性,结合Tomcat和Nginx实现负载均衡成为了一个有效的解决方案。本文将详细…

Spark执行计划解析后是如何触发执行的?

在前一篇Spark SQL 执行计划解析源码分析中,笔者分析了Spark SQL 执行计划的解析,很多文章甚至Spark相关的书籍在讲完执行计划解析之后就开始进入讲解Stage切分和调度Task执行,每个概念之间没有强烈的关联,因此这中间总感觉少了点…

前端的知识(部分)

11 前端的编写步骤 第一步:在HTML的页面中声明方法 第二步:在<script>中定义一个函数,其中声明一个data来为需要的数据 赋值一个初始值 第三步:编写这个方法实现对应的功能