在v1.1版本发布之后,SREWorks团队开始了常态化的功能版本迭代,v1.1提供了组件插拔能力,v1.2更进一步,将会发布规划已久的运维市场,助力团队构筑运维生态,也会发布诸多企业用户关注的纯内网源码构建方案。
切入正题,下面是本次 v1.2 版本的新功能解读。
SREWorks团队参考helm/rpm等常见软件仓库模型,设计了SREWorks的市场分发机制如下图所示:
该市场分发机制具有如下特点:
SREWorks团队欢迎用户在应用市场之上构建自己公司内部的私有市场,后续也会在公共市场上线更多的运维应用,方便用户开箱即用享受更多的功能和特性。
本次版本迭代,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
纳管集群通过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平台对时序数据进行自定义加工处理。
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
同时也欢迎各位加入钉钉群或微信群分享和交流~
钉钉交流群二维码: