[Terraform] 01 - Concepts and preparing dev environment

 

CICD的东西,过了红利期,不值钱,一周培训便能拥有的技能,韭醒!

Goto: 代码有点意思

Goto: 官网欣赏

使用 Terraform 在 AWS 中国区域实现自动化部署指南系列(一) TERRAFORM 入门

使用 Terraform 在 AWS 中国区域实现自动化部署指南系列(二) TERRAFORM 进阶

使用 Terraform、Cloud Build 和 GitOps 以代码形式管理基础架构

 

 

安装 Terraform

Ref: https://www.terraform.io/downloads.html
Move to /usr/bin directly.

 

 

基本概念 

一、核心特点

  • Cross-platform

Lists of Terraform Providers

Goto: https://www.terraform.io/docs/providers/index.html

  • Automation

  • Environmental consistency

  • Audit and version control

  • Automation test

 

二、与CloudFormation、Serverless做对比

 

The definitive guide to using Terraform with the Serverless Framework [有代码]

结论:

Terraform is best suited for managing more persistent shared infrastructure,

while Serverless is a good fit to manage the application-specific infrastructure.

 

三、核心概念

Configuration Language

Commands

Providers

State

Backends: state的管理,放在远端保管,比如 都放在 aws s3 上保存。

Provisioners: 

Modules: 别人已经写好的代码。

 

 

工具集

一、Configuration Management 

Terraform 用于 “构建基础”,也就是 “先搭建环境” for other services。基础架构层初始化。

 

 

二、四个阶段

HashiCorp 开发的工具,该公司牛。

若干介绍:

Packer: 搞一个镜像,选择什么系统,例如Ubuntu,然后安装一些预装软件。

Vagrant: 比如团队使用统一的开发环境,可以通过其做一个“开发镜像”,并分发给各个队员。

实践发现下面的最佳组合,是一门学问。

 

三、搭建开发环境 [可选]

Ref: docker 和vagrant比较 [自动化配置virtualbox]

一个样例:https://github.com/AndrewProgramming/terraform_devops_env

  • Vagrant

一个基于Ruby的工具,用于创建和部署虚拟化开发环境。它 使用Oracle的开源VirtualBox虚拟化系统,使用 Chef创建自动化虚拟环境。(应该有状态)

 

  • SFTP插件 [可选]

允许远程同步代码

 

Ctrl+Shift+P on Windows/Linux --> SFTP: Config

在项目下的.vscode下增加了一个配置文件:sftp.json

 

End. 

posted @ 2020-11-09 19:52  郝壹贰叁  阅读(106)  评论(0编辑  收藏  举报