Terraform簡介Terraform 提供了對資源和提供者的靈活抽象。該模型允許表示從物理硬件、虛擬機和容器到電子郵件和 DNS 提供者的所有內容。由于這種靈活性,Terraform 可以用來解決許多不同的問題。這意味著有許多現(xiàn)有的工具與Terraform 的功能重疊。但是需要注意的是,Terraform 與其他系統(tǒng)并不相互排斥。它可以用于管理小到單個應用程序或達到整個數(shù)據(jù)中心的不同對象。 Terraform 使用配置文件描述管理的組件(小到單個應用程序,達到整個數(shù)據(jù)中心)。Terraform 生成一個執(zhí)行計劃,描述它將做什么來達到所需的狀態(tài),然后執(zhí)行它來構建所描述的基礎結構。隨著配置的變化,Terraform 能夠確定發(fā)生了什么變化,并創(chuàng)建可應用的增量執(zhí)行計劃。 Terraform 核心功能
使用高級配置語法來描述基礎架構,這樣就可以對數(shù)據(jù)中心的藍圖進行版本控制,就像對待其他代碼一樣對待它。 Terraform 有一個 plan 步驟,它生成一個執(zhí)行計劃。執(zhí)行計劃顯示了當執(zhí)行 apply 命令時 Terraform 將做什么。通過 plan 進行提前檢查,可以使 Terraform 操作真正的基礎結構時避免意外。 Terraform 構建的所有資源的圖表,它能夠并行地創(chuàng)建和修改任何沒有相互依賴的資源。因此,Terraform 可以高效地構建基礎設施,操作人員也可以通過圖表深入地解其基礎設施中的依賴關系。 把復雜的變更集應用到基礎設施中,而無需人工交互。通過前面提到的執(zhí)行計劃和資源圖,我們可以確切地知道 Terraform 將會改變什么,以什么順序改變,從而避免許多可能的人為錯誤。 基于CentOS7.5安裝配置Terraform yum install wget unzip git 2.下載與安裝Terraform
測試安裝是否成功,執(zhí)行如下命令,如正確輸出Terraform版本信息則為正確: # terraform version 正確結果如下所示: 3.安裝待管理資源相關provider Linux 以及 Mac 中將這個二進制文件放到 ~/.terraform.d/plugins/ 中。在 Windows 當中把這個二進制文件放到用戶的 “Application Data” 目錄下的 terraform.d/plugins/ 下。或者插件和terrafrom放到同一個目錄,本次安裝放在/usr/local/terraform/路徑下。
下載相應的provider,例如:kubernetes、mysql 等 provider # git clone git@github.com:terraform-providers/terraform-provider-kubernetes 配置Go語言編譯環(huán)境(provider都是基于Go語言開發(fā)的,所以要編譯provider需要先配置Go語言環(huán)境,且要求Go語言版本為Go 1.11.x,本次安裝版本為go1.11.9)。首先下載Go語言軟件包(安裝路徑可自設,本次安裝在/usr/local目錄下):
設置環(huán)境變量: # vim /etc/profile 保存退出后,執(zhí)行如下命令使上一步中設置的環(huán)境變量生效:
測試go語言環(huán)境是否正常,執(zhí)行如下命令如果正確輸出Go語言版本則正確: # go version 正確結果如下所示: 編譯provider,執(zhí)行如下命令:
至此,Terraform自動化編排工具安裝完成,可以使用它管理k8s集群,mysql數(shù)據(jù)庫等。 來源:https://blog.csdn.net/u011220960/article/details/89704619 |
|
來自: 西北望msm66g9f > 《編程》