在v1.1版本发布之后,SREWorks团队开始了常态化的功能版本迭代,v1.1提供了组件插拔能力,v1.2更进一步,将会发布规划已久的运维市场,助力团队构筑运维生态,也会发布诸多企业用户关注的纯内网源码构建方案。

切入正题,下面是本次 v1.2 版本的新功能解读


1. 应用市场

SREWorks团队参考helm/rpm等常见软件仓库模型,设计了SREWorks的市场分发机制如下图所示:

SREWorks v1.2 版本发布 | 运维市场能力发布_开发运维

该市场分发机制具有如下特点:

  • 公共市场理论上可以基于任何静态存储服务搭建,并且可以支持缓存加速,当前支持阿里云OSS,后续会支持 MinIO/S3 等常见存储服务。
  • 支持多个SREWorks平台向同一个市场发布包,也支持一个SREWorks平台同时订阅多个市场。

SREWorks v1.2 版本发布 | 运维市场能力发布_云原生_02

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平台对时序数据进行自定义加工处理

SREWorks v1.2 版本发布 | 运维市场能力发布_运维_03


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​

同时也欢迎各位加入钉钉群或微信群分享和交流~

钉钉交流群二维码:

SREWorks v1.2 版本发布 | 运维市场能力发布_python_04