運維人少,如何批量管理上百個微服務、上千條流水線?

作者:周靜

隨着微服務和雲原生技術的發展,一個業務系統往往由多個微服務應用組成,多個業務方向涉及幾十上百應用。每個應用研發過程又劃分爲測試、預發、生產多條流水線,也即成百上千條流水線。而一個企業下通常只有 1~2 個運維或架構師負責這些應用的配置管理工作。該場景下你是否會遇到以下苦惱:

  • 業務應用太多啦,一個應用配置的修改就得修改幾十上百遍,還有可能錯改、漏改?
  • 流水線太多啦,怎麼分組管理,快速找到目標流水線?流水線怎麼批量授權給一線開發測試同學?

雲效應用交付平臺 AppStack 以應用爲中心聚合管理資源環境、CI/CD 流程、人員權限等;提供應用模板,支持使用模板一鍵創建應用,快速初始化應用配置;支持應用模板修改批量升級應用,幫助你高效管理上百應用、上千條流水線,幫助企業研發流程和規範有效落地。

使用模版一鍵創建應用

通常企業一類應用研發會採用相同的技術棧,如 Web 類後端服務通常會採用Java開發語言、Spring boot 框架、K8s 部署形態,前端服務通常會採用 Node.js 開發語言、K8s 部署形態等。一類應用的研發流程、部署架構、環境劃分、角色權限劃分基本類似,可將一類應用定義爲應用模板,同類應用使用模板即可快速初始化配置。

我們提供以下 2 種方式,幫助企業使用模板快速完成初始化。

方式 1:從示例應用模板快速配置應用

雲效提供兩套示例應用模板,你可以直接從示例模板一鍵初始化應用配置,體驗完整應用部署流程;實際應用部署可按需修改部分流程或配置。

  • 示例模板 1 - Java K8s 應用示例模板,預置測試(鏡像構建+測試環境部署)、預發(鏡像構建+預發環境部署)、生產(鏡像構建+人工卡點+生產環境部署)三條流水線,預置 K8s Deployment 部署 YAML,預置開發、測試、預發、生產四套環境。
  • 示例模板 2 - Java 主機應用示例模板,預置測試、預發、生產三條流水線,預置 Linux 主機部署 Shell 腳本,預置開發、測試、預發、生產四套環境。

方式 2: 企業自定義應用模板一鍵創建應用

示例應用模板用於幫助快速體驗應用配置部署流程,在實際業務研發中,企業頁可以自定義符合企業業務特徵、滿足企業研發流程規範的應用模板。

操作方法如下:在企業全局設置中,新建應用模板(也可以從已有模板複製),按上述單應用配置方式配置應用環境、流水線、部署 K8s YAML 等, 其中,應用下少量不同的配置可以抽取成變量,關聯全局變量組或應用內變量組進行差異化配置。

如:Java 構建命令中,某些應用跳過 maven 測試。定義 skipMvnTest 爲流水線變量,流水線關聯應用變量組,由變量組取值決定是否跳過。

如:部署 K8s YAML 中,某些應用 Deployment 開啓 xx 特殊配置。定義 pilotAutoEnable 爲編排配置變量,環境關聯變量組,應用環境部署時由變量組取值決定是否開啓。

新建應用時,選擇上述配置好的模板,即可一鍵初始化應用配置,省去多應用逐個重複配置成本,“解放”雙手。

應用創建成功後,可以批量爲應用添加成員並賦予相應角色,以角色權限方式統一爲應用的多套環境、多條流水線授權。企業可按需配置開發、測試等各角色的權限點。

通過模版修改批量升級應用

隨着應用架構升級或研發規範的調整,應用配置也需要不斷的升級,通常會選取一兩個試點應用做升級測試,驗證通過後批量推廣到所有應用。典型升級場景示例如下:

示例場景 1:批量修改應用部署配置,增加 sidecar 容器,統一接入監控日誌

應用穩定性升級項目要求所有統一接入監控日誌,需要在應用部署中增加 skywalking sidecar 容器,用於日誌採集、上報等。批量升級步驟如下:

1)進入應用模板 -> 編排配置,開啓同步功能。

2)修改模板編排 YAML Demployment 文件,增加 skywalking 容器配置。

3)選擇試點應用,進行配置同步,重新部署試點應用進行測試驗證。

4)試點應用測試驗證 OK 後,再批量選擇應用同步,批量推廣。同步後,應用下次部署使用最新同步的 YAML 即可生效 skywalking sidecar 容器,進行應用日誌採集。

5)點擊應用模板 -> 版本記錄,可以實時查看各應用同步狀態和同步版本,整體控制升級進度和風險,避免錯改、避免漏改。

示例場景 2:應用研發流程統一增加安全掃描卡點

企業內引入安全掃描能力,安全同學要求將安全掃描結果作爲發佈流程卡點,沒有通過安全掃描的應用不允許發佈。應用批量接入步驟如下:

1)進入應用模板 -> 研發流程配置,開啓同步功能(即將上線)。

2)編輯生產發佈階段流水線,增加「安全掃描卡點」組件。

3)選擇試點應用,進行配置同步,重新運行試點應用生產階段發佈流程,進行流程驗證。

4)試點應用流程驗證 OK 後,再批量選擇應用同步,批量推廣。同步後,應用下次發佈時,生產發佈流程將經過「安全掃描卡點」,作爲發佈卡點。

以上,即介紹了以應用維度分組管理測試、預發、生產等不同環境流水線;通過應用模板一鍵初始化應用配置;通過應用模板批量同步功能統一配置管理上百應用、上千流水線,真正做到“解放”管理員雙手。

歡迎點擊此處前往雲效 AppStack,體驗應用批量管理。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章