博客 / 詳情

返回

觀測雲OaC能力升級,通過Terraform實現配置閉環

Terraform 簡介

Terraform 是 Hashicorp 公司開源的一種資源編排工具,常用於管理多雲資源。利用 Terrafrom 提供的特定配置語言 HCL(Hashicorp Configuration Language)來定義資源,再由 Terraform 統一解析構建資源之間的依賴關係,生成執行計劃,調用各個廠商的具體實現來完成資源的生命週期管理。

  • 跨平台特性:目前海內外累計已有超過 40 家公有云廠商支持,另有 200 多個軟件服務商為其提供支持。利用 Terraform 跨平台特性,可以非常方便的將觀測雲資源同其他廠商資源進行集成。
  • 自動化:所有的資源變更都由 Terraform 來管理執行,不需要手動執行相同的操作,讓工程師把時間浪費在美好的事情上。
  • 環境一致性:通過 Terrafrom 部署環境,可以把配置複製到任何環境中,不需要擔心環境非一致性帶來的異常。
  • 變更審計:通過代碼管理資源,Terraform Plan 生成執行計劃,可以進行版本控制,任何資源變更都變得可追蹤、可審計。
  • 自動化測試:資源通過代碼配置管理後,在測試環境或者 CI 進行自動化測試變得可行,每一次資源變更都可以進行相同的兼容性測試。

圖片

觀測雲 Terraform Provider: https://registry.terraform.io/namespaces/GuanceCloud

上一期文章《觀測雲全面支持 OaC,通過 Terraform 管理您的可觀測性》主要介紹瞭如何使用 Terraform 創建觀測雲資源的資源。

本期內容再給大家介紹一下如何通過 Terraform 導出現有配置並修改後導入,實現全流程閉環管理(以 BlackList 資源為例)。

操作步驟

第一步、配置 Provider

開始使用觀測雲 Terraform 之前,通過「API Key 管理」獲取 Key,添加到 provider.tf 配置文件:

terraform {
  required_version = ">=0.12"

  required_providers {
    guance = {
      source  = "GuanceCloud/guance"
      version = "=0.0.6"
    }
  }
}

// We also recommend use secret environment variables to set the provider,
// Such as GUANCE_ACCESS_TOKEN and GUANCE_REGION
provider "guance" {
  # access_token = "your access token, recommend store in environment variable"
  access_token = "cJ1XXXXXXXXXXXXXXXXXXXXXXXXXXXXXQBkrf"
  region       = "hangzhou"
}

第二步、初始化 Terraform

初始化 Terraform 環境。

terraform init

第三步、導出平台資源

1、定義好需要導出資源的 main.tf 配置文件

# 此處以名稱為“terr-test”的日誌黑名單資源為例
resource "guance_blacklist" "terr-test" {
  type   = "logging"
  source = ""

}

圖片

2、獲取該資源的 uuid

通過觀測雲的 OpenAPI,獲取到該資源的 uuid。

圖片

3、導出 terraform 配置

根據獲取到的 uuid,執行 terraform 導出命令。

terraform import guance_blacklist.terr-test blist_e93c8b0XXXXXXXXXXXXXXXXXXX35164c3

第四步、修改資源配置

1、先驗證下導出的 terraform 配置信息

terraform state show  guance_blacklist.terr-test

圖片

2、修改 terraform 配置文件並校驗

將 show 出來的必填字段和需要修改的字段填充到 man.tf 配置文件中。(注意要去掉只讀字段,不然 terraform 會校驗不通過;字段説明可參考官方文檔)。執行 terraform plan 校驗。

圖片

terraform plan 校驗通過是這樣的。

圖片

圖片

第五步、導入修改後的資源

將修改好的 terraform 配置文件,導入到觀測雲平台。

terraform apply

圖片

查看觀測雲平台,確認該資源已經被正確修改。

圖片

總結

觀測雲 OaC 能力還在持續提升,通過 Terraform 已經實現導出現有配置並修改後導入全流程閉環。來我們會支持更多的觀測雲資源管理。同時,我們也非常歡迎大家一同參與貢獻,為中國可觀測性 OaC 添磚加瓦。

觀測雲 Terraform Provider Github:https://github.com/GuanceCloud/terraform-provider-guance

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.