After the release of the v1.1 version, the SREWorks team started the normalized function version iteration. The v1.1 provides the component plug-in capability. The v1.2 goes further and will release the long-planned version.Operation and maintenance marketto help the team build an operation and maintenance ecology, and will also release many enterprise users concerned aboutPure intranet source code constructionProgram.
Cut to the topic, the following is the v1.2 version of this timeInterpretation of new functions.
1. App Market
Referring to common software warehouse models such as helm/rpm, the SREWorks team designed the market distribution mechanism of SREWorks as shown in the following figure:
The market distribution mechanism has the following characteristics:
- Public markets can theoretically be based on anystatic storage servicebuild and supportcache accelerationcurrently supports Alibaba Cloud OSS, and will support common storage services such as MinIO/S3 in the future.
- Support multiple SREWorks platforms to publish packages to the same market, and support one SREWorks platform to subscribe to multiple markets at the same time.
The SREWorks team welcomes users to build their own in-company on top of the app marketplaceprivate marketand more operation and maintenance applications will be launched in the public market in the future to facilitate usersout of the boxEnjoy more functions and features.
2. Pure intranet source code construction and deployment
In this version iteration, the SREWorks team has organized and classified the source code construction dependent resources, and users can choose or replace the corresponding resources to build and deploy the source code in the intranet or special environment.
Base source code construction
in execution <span class="ne-text">./build.sh</span
The following environment variables can be passed before the command to change the resource address. If not passed in, the default value will be used
# 容器镜像
export SW_<span class="k_pendant" data-id="6">Python</span>3_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"
...
For a complete list of resources visit https://www.yuque.com/sreworks-doc/docs/mzz07m
Operation and maintenance application source code construction
When executing the helm install/upgrade command, you can optionally pass in the following parameters, so that the operation and maintenance application can be built and deployed on the intranet.
# 容器镜像
--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" \
...
For a complete list of resources visit https://www.yuque.com/sreworks-doc/docs/mzz07m
3. Enhanced data platform capabilities
Enhanced index collection capabilities
Managed clusters passmetricbeatThe ability to collect prometheus exporter is supported. The default Pod (exporter) label satisfies sreworks-prometheus-scrape-metric: enable and sreworks-prometheus-io-scrape: enable. It has the ability to automatically discover services.
By default, the previous version only supports the service tag that satisfies the <span class="ne-text">sreworks-telemetry-metric: enable</span
** It has the ability of automatic service discovery and periodic pull of the indicator interface, considering thatPrometheus** has become the de facto standard for monitoring in the cloud-native field. Therefore, in the v1.2 version, the indicator collection capability is enhanced, that is, it supports actively pulling indicator data from user services and actively pulling indicator data from prometheus exporter.
Enhanced Data Consumption Capability
newlogstashThe data service component supports multi-pipeline distribution of operation and maintenance data.
The data of the previous version is stored in Elasticsearch by default. Data processing mainly depends on the data processing tasks of the job platform, but the job platform has a weak timeliness for processing time series data. The v1.2 version supports collecting user operation and maintenance data (mainly metric data) to actively flow into the message queue service Kafka, and users can perform time series data through the VVP platformcustom processing.
4. Other optimizations
- Optimize the problem that the service is not recycled when the app is uninstalled
- Optimize code dependencies and remove dependencies on python2.7 in the project
- Supports namespace customization when deploying operation and maintenance applications
- Site Search Service Support Instance Details Page Index
- Front-end component documentation completion
How to upgrade from current version to v1.2
- The upgrade includes the base, the page may be inaccessible for 5-10 minutes, please note.
- Cloud native applications developed by users will not be affected (no restart), and the traffic from the SREWorks gateway to the application will be interrupted.
git clone http://github.com/alibaba/sreworks.git -b v1.2 sreworks
cd sreworks
./sbin/upgrade-cluster.sh --kubeconfig="****"
If you encounter problems during use, you are welcome to submit Issues or Pull requests in GitHub.
SREWorks open source address: https://github.com/alibaba/sreworks
#SREWorks #v12 #Released #Operation #Maintenance #Market #Capability #ReleasedNews Fast Delivery