GaC(Grafana as Code, Grafana 即程式碼) 很明顯是擴充套件自 IaC(Infrastructure as Code, 基礎設施即程式碼)的概念.
在Terraform 系列 - 什麼是 IaC?一文中, 我們已經詳細地說明了相關的概念, 我們可以直接套用在 GaC 上:
Grafana 即程式碼 (Grafana as Code, GaC) 是指通過 程式碼 而不是手動流程 / 控制檯點選來管理和設定 Grafana。
這裡有 2 個關鍵詞:
Grafana 是被管理物件,在這裡,不僅僅是指 Grafana OSS 這一款產品, 還包括 Grafana Labs 提供的商業產品和雲服務. 包括不限於:
Code 是管理方式,即像管理程式碼一樣管理 Grafana 資源。那麼管理程式碼最重要的部分: 版本管理是繞不開的。
...
當然, 這一系列文章, 主要還是關注於通過程式碼的形式來管理 Grafana 這個產品.
這篇文章主要跟著Grafana as code: A complete guide to tools, tips, and tricks 這篇官方文章的邏輯來進行, 變穿插筆者的評價和最終選擇.
官方推薦這麼幾種方案, 另外我也會加幾個我認為可行的方案: