Terraform - 簡介
前言
云計(jì)算
主要提供計(jì)算服務(wù),例如服務(wù)器、存儲(chǔ)、數(shù)據(jù)庫、網(wǎng)絡(luò)等等;
對(duì)于云服務(wù),通常只需使用多少支付多少,從而幫助降低運(yùn)營成本,使基礎(chǔ)設(shè)施更有效地運(yùn)行,并能根據(jù)業(yè)務(wù)需求的變化調(diào)整對(duì)服務(wù)的使用。
- 公有云: 多租戶面向個(gè)人或企業(yè)由第三方云服務(wù)商托管和運(yùn)營。
- 私有云: 專供一個(gè)企業(yè)或組織使用的云計(jì)算資源。私有云可以位于公司的數(shù)據(jù)中心。(自建或云供應(yīng)商)
- 混合云: 組合公有云和私有云,通過云之間進(jìn)行共享數(shù)據(jù)。
基礎(chǔ)設(shè)施即代碼
傳統(tǒng)情況下,通過云供應(yīng)商提供的基礎(chǔ)設(shè)施資源管理控制臺(tái)的頁面來管理各種資源。
但GUI頁面操作會(huì)帶來一些問題:在多云或多個(gè)環(huán)境中變更多套復(fù)雜環(huán)境,易出現(xiàn)操作重復(fù)、人為失誤,配置不一致等。
通過IaC(Infrastructure as Code,基礎(chǔ)設(shè)施即代碼)可以很好解決以上問題。
IaC將基礎(chǔ)設(shè)施管理納入應(yīng)用程序的生命周期中,使用代碼來管理和配置基礎(chǔ)設(shè)施資源。
IaC允許開發(fā)者使用版本控制和自動(dòng)化工具來部署和管理基礎(chǔ)設(shè)施,就像管理軟件代碼一樣。
Terraform簡介
- 一個(gè)強(qiáng)大的開源基礎(chǔ)設(shè)施即代碼工具,定義、部署和管理基礎(chǔ)設(shè)施
- 通過編寫(Write)、計(jì)劃(Plan)、應(yīng)用(Apply)聲明式配置文件來操作API接口
- 可在配置文件中定義云和本地資源,可以對(duì)其進(jìn)行版本控制,重用和共享
- 提供一致的CLI工作流在整個(gè)生命周期內(nèi)配置和管理所有基礎(chǔ)架構(gòu)及云服務(wù)
- 可以管理DNS條目、Saas功能等高級(jí)組件和計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)資源等低級(jí)組件
Terraform解決的問題
Terraform 提供了一種統(tǒng)一的、受版本控制的基礎(chǔ)架構(gòu)管理方法。
解決了手工設(shè)置和管理基礎(chǔ)架構(gòu)的經(jīng)常出現(xiàn)的配置不一致、重復(fù)操作和人為錯(cuò)誤等問題,可以簡易、靈活、可靠地?cái)U(kuò)展和管理復(fù)雜系統(tǒng)。
選擇Terraform的理由
- 強(qiáng)大的社區(qū)
- 可以管理任何基礎(chǔ)設(shè)施
- 對(duì)基礎(chǔ)設(shè)施版本管理并跟蹤
- 無需考慮底層邏輯,僅需聲明配置
- 多云架構(gòu)基礎(chǔ)設(shè)施部署
- 創(chuàng)建河重用的基礎(chǔ)架構(gòu)
- 高效地基礎(chǔ)架構(gòu)擴(kuò)展和部署
Terraform原理和流程
工作原理

- Terraform通過Provider這個(gè)與API直接交互的后端驅(qū)動(dòng)來完成對(duì)云平臺(tái)上基礎(chǔ)設(shè)施資源的管理。
- 不同的基礎(chǔ)設(shè)施提供商需要對(duì)應(yīng)的Provider來實(shí)現(xiàn)對(duì)自家基礎(chǔ)設(shè)施的統(tǒng)一管理。
- HashiCorp官方和Terraform社區(qū)已經(jīng)編寫了大量的Provider來管理數(shù)千種不同類型的資源和服務(wù)。
- https://registry.terraform.io/browse/providers
在實(shí)際操作中,Terraform和Provider是兩個(gè)獨(dú)立存在的package。
Terraform會(huì)在運(yùn)行時(shí)根據(jù)用戶模板中指定的provider或者resource、datasource的標(biāo)志自動(dòng)下載配置所用到的所有provider,并將其放在執(zhí)行目錄下的一個(gè)隱藏目錄.terraform下。
核心工作流程
1.Write階段,即定義所需要的資源。這些資源可以是跨越多個(gè)云提供商和服務(wù)。
2.Plan階段,Terraform 創(chuàng)建一個(gè)執(zhí)行計(jì)劃。將根據(jù)配置文件創(chuàng)建、更新或銷毀基礎(chǔ)架構(gòu)。
3.Apply階段,在批準(zhǔn)后Terraform會(huì)按照資源依賴關(guān)系順序執(zhí)行。
行動(dòng)是絕望的解藥!
歡迎轉(zhuǎn)載和引用,但請(qǐng)?jiān)诿黠@處保留原文鏈接和原作者信息!
本博客內(nèi)容多為個(gè)人工作與學(xué)習(xí)的記錄,少數(shù)內(nèi)容來自于網(wǎng)絡(luò)并略有修改,已盡力標(biāo)明原文鏈接和轉(zhuǎn)載說明。如有冒犯,即刻刪除!
以所舍,求所得,有所獲,方所成。

浙公網(wǎng)安備 33010602011771號(hào)