在v1.1版本釋出之後,SREWorks團隊開始了常态化的功能版本疊代,v1.1提供了元件插拔能力,v1.2更進一步,将會釋出規劃已久的運維市場,助力團隊構築運維生态,也會釋出諸多企業使用者關注的純内網源碼建構方案。
切入正題,下面是本次 v1.2 版本的新功能解讀。
1. 應用市場
SREWorks團隊參考helm/rpm等常見軟體倉庫模型,設計了SREWorks的市場分發機制如下圖所示:
該市場分發機制具有如下特點:
- 公共市場理論上可以基于任何靜态存儲服務搭建,并且可以支援緩存加速,目前支援阿裡雲OSS,後續會支援 MinIO/S3 等常見存儲服務。
- 支援多個SREWorks平台向同一個市場釋出包,也支援一個SREWorks平台同時訂閱多個市場。
SREWorks團隊歡迎使用者在應用市場之上建構自己公司内部的私有市場,後續也會在公共市場上線更多的運維應用,友善使用者開箱即用享受更多的功能和特性。
2. 純内網源碼建構部署
本次版本疊代,SREWorks團隊将源碼建構依賴資源進行了整理和分類,使用者可自行選擇或替換對應的資源,進行内網或特殊環境的源碼建構部署。
底座源碼建構
在執行
./build.sh
指令前可傳入下列的環境變量來改變資源位址,如不傳入則使用預設值
# 容器鏡像
export SW_PYTHON3_IMAGE="python:3.9.12-alpine"
export MIGRATE_IMAGE="migrate/migrate"
export MAVEN_IMAGE="maven:3.8.3-adoptopenjdk-11"
export GOLANG_IMAGE="golang:alpine"
export GOLANG_BUILD_IMAGE="golang:1.16"
export DISTROLESS_IMAGE="sreworks-registry.cn-beijing.cr.aliyuncs.com/mirror/distroless-static:nonroot"
# 軟體倉庫
export APK_REPO_DOMAIN="mirrors.tuna.tsinghua.edu.cn"
export PYTHON_PIP="http://mirrors.aliyun.com/pypi/simple"
export GOPROXY="https://goproxy.cn"
export MAVEN_SETTINGS_XML="https://sreworks.oss-cn-beijing.aliyuncs.com/resource/settings.xml"
# 二進制指令
export HELM_BIN_URL="https://abm-storage.oss-cn-zhangjiakou.aliyuncs.com/lib/helm"
export KUSTOMIZE_BIN_URL="https://abm-storage.oss-cn-zhangjiakou.aliyuncs.com/lib/kustomize"
export MINIO_CLIENT_URL="https://sreworks.oss-cn-beijing.aliyuncs.com/bin/mc-linux-amd64"
# SREWorks内置應用包
export SREWORKS_BUILTIN_PACKAGE_URL="https://sreworks.oss-cn-beijing.aliyuncs.com/packages"
...
完整資源清單請通路 https://www.yuque.com/sreworks-doc/docs/mzz07m
運維應用源碼建構
在執行helm install/upgrade 指令的時候,可以選擇性傳入以下參數,使得運維應用可以在内網進行建構及部署。
# 容器鏡像
--set global.artifacts.mavenImage="sreworks-registry.cn-beijing.cr.aliyuncs.com/mirror/maven:3.8.3-adoptopenjdk-11" \
--set global.artifacts.openjdk8Image="sreworks-registry.cn-beijing.cr.aliyuncs.com/mirror/openjdk8:alpine-jre" \
--set global.artifacts.openjdk11Image="sreworks-registry.cn-beijing.cr.aliyuncs.com/mirror/openjdk:11.0.10-jre" \
--set global.artifacts.openjdk11AlpineImage="sreworks-registry.cn-beijing.cr.aliyuncs.com/mirror/openjdk11:alpine-jre" \
--set global.artifacts.alpineImage="sreworks-registry.cn-beijing.cr.aliyuncs.com/mirror/alpine:latest" \
--set global.artifacts.nodeImage="sreworks-registry.cn-beijing.cr.aliyuncs.com/mirror/node:10-alpine" \
--set global.artifacts.migrateImage="sw-migrate" \
--set global.artifacts.postrunImage="sw-postrun" \
--set global.artifacts.python3Image="sreworks-registry.cn-beijing.cr.aliyuncs.com/mirror/python:3.9.12-alpine" \
--set global.artifacts.bentomlImage="sreworks-registry.cn-beijing.cr.aliyuncs.com/mirror/bentoml-model-server:0.13.1-py37" \
# 軟體倉庫
--set global.artifacts.apkRepoDomain="mirrors.tuna.tsinghua.edu.cn" \
--set global.artifacts.mavenSettingsXml="https://sreworks.oss-cn-beijing.aliyuncs.com/resource/settings.xml" \
--set global.artifacts.npmRegistryUrl="https://registry.npmmirror.com" \
--set global.artifacts.pythonPip="http://mirrors.aliyun.com/pypi/simple" \
# 二進制指令
--set global.artifacts.minioClientUrl="https://sreworks.oss-cn-beijing.aliyuncs.com/bin/mc-linux-amd64" \
...
完整資源清單請通路 https://www.yuque.com/sreworks-doc/docs/mzz07m
3. 資料平台能力增強
名額采集能力增強
納管叢集通過metricbeat支援采集prometheus exporter能力,預設Pod(exporter)标簽滿足 sreworks-prometheus-scrape-metric: enable 和 sreworks-prometheus-io-scrape: enable 具備服務自動發現能力。
前序版本預設僅支援針對Service标簽滿足
sreworks-telemetry-metric: enable
具備服務自動發現和名額接口定時pull能力,考慮到Prometheus已經成為雲原生領域監控的事實标準,是以在v1.2版本中增強名額采集能力,即支援從使用者服務中主動pull名額資料,也支援主動從prometheus exporter pull名額資料。
資料消費能力增強
新增logstash資料服務元件,支援對運維資料多管道分發。
前序版本預設資料落地到Elasticsearch存儲,對資料加工處理主要依賴作業平台的資料處理任務,但作業平台對時序資料處理的時效性較弱。v1.2版本支援采集的使用者運維資料(主要指Metric資料)主動流入消息隊列服務Kafka,使用者可通過VVP平台對時序資料進行自定義加工處理。
4. 其他優化
- 優化應用解除安裝時service未回收的問題
- 優化代碼依賴,去除工程中對python2.7的依賴
- 運維應用部署時支援命名空間(namespace)自定義
- 站點搜尋服務支援執行個體詳情頁索引
- 前端元件文檔補齊
如何從目前版本更新到v1.2
- 更新包含底座,頁面可能會有5-10分鐘的不可通路,請注意。
- 使用者自行開發的雲原生應用不會受影響(不重新開機),SREWorks網關到應用的流量會有中斷。
git clone http://github.com/alibaba/sreworks.git -b v1.2 sreworks
cd sreworks
./sbin/upgrade-cluster.sh --kubeconfig="****"
如在使用過程中遇到問題,歡迎各位在GitHub中提出Issues或Pull requests。
SREWorks開源位址:https://github.com/alibaba/sreworks
同時也歡迎各位加入釘釘群或微信群分享和交流~