雲原生 Score 簡介

  1. Score 是什麼

其官網的一句話介紹是:One easy way to configure all your workloads. Everywhere. 可以簡單理解爲針對不同平臺的簡單的配置 workload 的工具。更詳細一點說:Score 是一個以開發人員爲中心、與平臺無關的 workload 開源的規範,它確保本地和遠程環境之間的配置一致。這樣就可以通過同一份配置部署到不同的平臺上(感覺和螞蟻的 KusionStack 思路類似),用戶不需要在成爲不同雲平臺的磚家!

  1. Score 是什麼時候出來的

查看其倉庫和推特賬號可知,Score 10 月底在 KubeCon 大會才首次露臉:

然後在 11 月初開放代碼剛剛 2 個月,關注度就飆到將近 7k:

簡直是坐着長征火箭上去的!

  1. Score 安裝目錄行

空口無憑、還是上代碼看看效果。當然第一步需要安裝。還好 Score 命令行是 Go 語言開發的,通過 Go 語言的 go install github.com/score-spec/score-compose/cmd/score-compose@latest 安裝:

注意:當前官網還有用 go get -u 命令安裝,在 Go1.18 + 版本會有問題,切換到 go install 就可以了。

我們現在安裝的是 score-compose 命令,用於講 Score 規範的配置轉化爲 Docker Compose 格式。下面看看命令行提示:

主要是 completion、help 和 run 三個子命令,completion 用於註冊 shell 環境自動提示暫時用不到,最重要的是 run 子命令用於輸出 Docker Compose 配置。

  1. Score 第一個例子

下面通過 busybox 構造一個最最簡單的打印 "Hello World" 的例子:

先不管細節,重要的地方是 containers 部分定義了 busybox 下執行 shell 的命令行。然後保存到 score.yaml 文件中。

然後通過以下命令基於上述配置生成 Docker Compose 配置文件:

現在就可以通過 docker-compose 來部署 compose.yaml 了:

果然是夠傻夠簡單,我們運維兄弟的最愛!

  1. Score 簡單架構

對於同一份 Score 配置文件,通過不同的轉化工具輸出不同格式的目標配置:

比如之前的是通過 score-compose 輸出的 Docker Compose,還可以通過 score-helm 輸出 Helm 的配置!就是這麼簡單!

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/g4UEJ1rXXm9sOEW4TVNEAA