首页 > 其他分享 >Terraform 基础

Terraform 基础

时间:2024-01-16 18:02:46浏览次数:23  
标签:基础设施 创建 配置 基础 Terraform VPC 资源

IaC 概述

基础设施即代码 (IaC) 工具允许您使用配置文件而不是通过图形用户界面来管理基础设施。IaC 允许您通过定义可版本化、重用和共享的资源配置,以安全、一致和可重复的方式构建、更改和管理您的基础设施。

Terraform 概述

HashiCorp Terraform 是一种基础设施即代码工具,可让在人类可读的配置文件中定义云和本地资源,可以对这些文件进行版本控制、重用和共享。可以使用一致的工作流程来配置和管理所有基础设施的整个生命周期。Terraform 可以管理计算、存储和网络资源等低级组件,以及 DNS 条目和 SaaS 功能等高级组件。

Terraform 工作逻辑

Terraform 通过应用程序编程接口 (API) 创建和管理云平台和其他服务上的资源。 Providers 使 Terraform 能够通过可访问的 API 与几乎任何平台或服务配合使用。

Terraform 基础_工作流程

Terraform 核心工作流

Terraform 核心工作流程由三个阶段组成:
Write: 定义资源,这些资源可能跨多个云提供商和服务。例如,您可以创建一个配置,以在具有安全组和负载均衡器的虚拟私有云 (VPC) 网络中的虚拟机上部署应用程序。
Plan: Terraform 创建一个执行计划,描述它将根据现有基础设施和配置创建、更新或销毁的基础设施。
Apply:获得批准后,Terraform 将按照正确的顺序执行建议的操作,并尊重任何资源依赖性。例如,如果您更新 VPC 的属性并更改该 VPC 中的虚拟机数量,Terraform 将在扩展虚拟机之前重新创建 VPC。

 

Terraform 基础_工作流程_02

Terraform 优势

1. Terraform 可以管理多个云平台上的基础设施。
2. 人类可读的配置语言可以快速编写基础架构代码。
3. 可以跟踪Terraform整个部署过程中的资源变化的状态。
4. 可以将配置提交给版本控制,以便在基础架构上安全地进行协作。

Terraform 标准化部署工作流程

Providers 将基础设施的各个单元(例如计算实例或专用网络)定义为资源。可以将来自不同提供商的资源组合成可重用的 Terraform 配置(称为模块),并使用一致的语言和工作流程来管理它们。
Terraform 的配置语言是声明性的,这意味着它描述了基础设施所需的最终状态,这与需要分步指令来执行任务的过程编程语言形成鲜明对比。erraform 提供程序会自动计算资源之间的依赖关系,以按照正确的顺序创建或销毁它们。

Terraform 基础_ide_03

Terraform 部署基础设施流程

1. Scope: 确定项目的基础设施。
2. Author: 为您的基础设施编写配置。
3. Initialize: 安装 Terraform 管理基础设施所需的插件。
4. Plan: 预览 Terraform 将做出的更改以匹配您的配置。
5. Apply:进行计划的更改。

参考文档

官方文档:https://developer.hashicorp.com/terraform/intro

providers列表:https://registry.terraform.io/browse/providers



标签:基础设施,创建,配置,基础,Terraform,VPC,资源
From: https://blog.51cto.com/wangguishe/9275850

相关文章

  • SqlSugar基础查询
    查所有List<Student> list=db.Queryable<Student>().ToList()//select * from Student查询总数int count=db.Queryable<Student>().Count()//select count(1) from Student按条件查询db.Queryable<Student>().Where(it=>it.Id......
  • 某客《微信小程序》从基础到实战视频教程
     第1部分微信小程序从基础到实战课程概要  第1节微信小程序从基础到实战课程概要  1.1微信小程序从基础到实战课程概要  第2部分初识微信小程序   第1节微信小程序简介  2.1微信小程序简介  第2节微信小程序开发准备2.2.1微信小程序开发准......
  • Go+Gin+GOrm+MySql实现基础的增删改查
    一、概述本节使用Gin+GOrm+MySql实现基础的增删改查。主要是做一下记录防止后面忘记了可以翻看博客查看主要有两个.go文件1.main.go用于注册gin路由及初始化gorm操作数据库2.Result.go用于封装服务端返回给客户端的响应体二、代码示例1.main.go//go_......
  • U-net基础代码
    importtorchimporttorch.nnasnnclassConvBlock(nn.Module):def__init__(self,in_channels,out_channels):super(ConvBlock,self).__init__()self.conv=nn.Conv2d(in_channels,out_channels,kernel_size=3,stride=1,padding=1)......
  • PyTorch深度学习零基础入门
    在人工智能时代,机器学习技术日新月异,深度学习是机器学习领域中一个全新的研究方向和应用热点,它是机器学习的一种,也是实现人工智能的必由之路。深度学习的出现不仅推动了机器学习的发展,还促进了人工智能技术的革新。PyTorch作为深度学习的重要框架,近年来备受读者喜爱,自推出后得到了......
  • iOS ARKit 三大基础能力
    ARKit三大基础能力   ARKit整合了SLAM、计算机视觉、机器学习、传感器融合、表面估计、光学校准、特征匹配、非线性优化等大量低层技术,提供给开发者简洁易用的程序界面。ARKit提供的功能总体可以分为3个部分:运动跟踪、场景理解、渲染,1.运动跟踪运动跟踪可以实时跟......
  • 自命题科目考试大纲 考试科目代码:[996]       考试科目名称:操作系统与数据库基
    湖南师范大学硕士研究生入学考试自命题科目考试大纲考试科目代码:[996]      考试科目名称:操作系统与数据库基础综合  操作系统与数据库基础综合考试涵盖操作系统和数据库原理与应用等学科专业基础课程。要求考生比较系统地掌握上述专业基础课程的基本概念、基本原理和......
  • 《基础概念篇》生命周期
    生命周期Vue.js是一个JavaScript框架,通过使用Vue实例来创建和管理Web应用程序。Vue实例具有一系列的生命周期钩子函数,它们在Vue实例的不同阶段被调用,允许您在不同阶段执行特定的操作。以下是Vue生命周期的不同阶段和对应的钩子函数:创建阶段(Creation)beforeCreate:在实例被创......
  • 《vue语法篇》基础语法
    ref和$ref在Vue中,$ref是一个特殊的属性,它允许您引用组件或DOM元素。可以使用$ref属性在组件或元素上绑定一个唯一的标识符,然后在Vue实例中使用$ref来访问该组件或元素。类似于id选择器。例如,假设您有一个组件:点击查看代码<template><div><inputtype="text"ref="myI......
  • java基础
    Java基础部分基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io的语法,虚拟机方面的语法。1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?可以有多个类,但只能有一个public的类,并且public的类名必须......