SREWorks: 阿里开源,一站式运维 SaaS 应用套件和云原生运维开发平台

公众号关注 「奇妙的 Linux 世界」

设为「星标」,每天带你玩转 Linux !

05effbf9340e782e311e136fdd2a4067.png

SREWorks 是阿里巴巴大数据 SRE 团队云原生运维平台,沉淀了团队近 10 年经过内部业务锤炼的 SRE 工程实践,秉承“数据化、智能化”运维思想,帮助运维行业更多的从业者采用“数智”思想做好高效运维。专注于以应用为中心的一站式“云原生”、“数智化”运维 SaaS 管理套件。提供企业的应用&资源管理运维开发两大核心能力,帮助企业实现云原生应用&资源的交付运维。

  • 对于运维: 提供标准化“交、监、管、控、营、服”SaaS 管理场景,企业可快速搭建“数智”运维支撑体系,能灵活定制实现复杂应用运维管控。

  • 对于研发: 提供一套基础开箱即用的云原生应用配置和交付能力平台,平台自动集成运维服务。

SREWorks 是什么?

谷歌在 2003 年提出了一种岗位叫做 SRE (Site Reliability Engineer,站点可靠性工程师),它是软件工程师和系统管理员的结合,重视运维人员的开发能力,要求运维日常琐事在 50% 以内,另外 50% 精力开发自动化工具减少人力需求。

SREWorks 作为阿里云大数据 SRE 团队对 SRE 理念的工程实践,专注于以应用为中心的一站式“云原生”、“数智化”运维 SaaS 管理套件,提供企业应用&资源管理及运维开发两大核心能力,帮助企业实现云原生应用&资源的交付运维。

阿里云大数据 SRE 团队天然靠近大数据和 AI,对大数据&AI 技术非常熟悉,且具有随取随用的大数据&AI 算力资源,一直努力践行“数据化”、“智能化”的运维理念,行业里的 DataOps(数据化运维)最早由该团队提出。SREWorks 中有一套端到端的 DataOps 闭环工程化实践,包括标准的运维数仓、数据运维平台、运营中心等。

传统 IT 运维领域已经有大量优秀的开源运维平台,反观云原生场景,目前还缺乏一些体系化的运维解决方案。随着云原生时代大趋势的到来,阿里云大数据 SRE 团队将 SREWorks 运维平台开源,希望为运维工程师们提供开箱即用的运维平台。

SREWorks 有什么优势?

回归到运维领域的需求,无论上层产品和业务形态怎么变化,运维本质上解决的还是“质量、成本、效率、安全”相关需求。SREWorks 用一个运维 SaaS 应用界面来支撑上述需求,同时以“数智”思想为内核驱动 SaaS 能力,具体包括交付、监测、管理、控制、运营、服务六部分。

aec0456a47b07ecb36775060542f41aa.jpeg

安装

首先需要有一个大于等于 1.20 版本的 Kubernetes 集群。

  • 分布式部署: 建议至少 3 台节点(配置为 4 核 CPU,16G 内存),存储需要 300G 以上空间,90 个 Pod 以上配额

  • 单机部署: 建议至少 8 核/32G 内存/300G 硬盘

这里我们使用 Helm 的方式来安装 SREWorks。

采用 Ingress 方式访问

SREWorks 的部署必须指定 ingress 的域名,阿里云 ACK 集群的域名在【基本信息】中可以找到,例如 http://*.ceea604.cn-huhehaote.alicontainer.com ,* 部分用户可以自行填写,比如 http://sreworks.c34a60e3c93854680b590b0d5a190310a.cn-zhangjiakou.alicontainer.com ,在安装时传入 appmanager.home.url 参数即可。

首先下载 sreworks 代码到本地。

$ git clone http://github.com/alibaba/sreworks.git -b v1.2 sreworks
$ cd sreworks/chart/sreworks-chart

然后使用下面的命令一键安装即可。

# 安装SREWorks
$ helm upgrade --install sreworks ./ \
    --kubeconfig="****" \
    --create-namespace --namespace sreworks \
    --set appmanager.home.url="https://your-website.***.com" \
    --set global.storageClass="alicloud-disk-available" \
    --set appmanagerbase.openebs.enabled=false

采用 NodePort 方式访问

在云厂商购买虚机,运行 NodePort 模式需要注意被访问节点(NODE_IP)的网络安全组或防火墙,打开该端口(30767)的公网被访问限制。

同样先下载 sreworks 代码到本地。

$ git clone http://github.com/alibaba/sreworks.git -b v1.2 sreworks
$ cd sreworks/chart/sreworks-chart

然后使用下面的命令安装 sreworks,替换 NODE_IP 为某个节点的 IP。

$ helm upgrade --install sreworks ./ \
    --kubeconfig="****" \
    --create-namespace --namespace sreworks \
    --set global.accessMode="nodePort" \
    --set appmanager.home.url="http://NODE_IP:30767"

注意: 默认的 storageClass: sreworks-hostpath 是由 OpenEBS 的 LocalPV 方案实现的,仅能用于开发测试环境,如需用于生产,建议使用符合 Kubernetes 要求的持久化存储,如 GlusterFS、Ceph 等分布式存储,或云服务上上的块存储。

Kubesphere 单机快速部署

  • Kubesphere All-in-one 集群部署参考 https://kubesphere.io/zh/docs/quick-start/all-in-one-on-linux/

  • 数智版部署单机资源不小于 8 核/32G 内存/300G 硬盘

# 下载并安装kk工具
curl -sfL https://get-kk.kubesphere.io | VERSION=v2.0.0 sh -

# 通过kk工具部署k8s集群
./kk create cluster --with-kubernetes v1.21.5 --with-kubesphere v3.2.1

# 下载sreworks到本地
git clone http://github.com/alibaba/sreworks.git -b v1.2 sreworks
cd sreworks/chart/sreworks-chart

# 安装SREWorks
# 替换NODE_IP为某个节点的浏览器可访问IP
helm upgrade --install sreworks ./ \
    --create-namespace --namespace sreworks \
    --set global.accessMode="nodePort" \
    --set appmanager.home.url="http://NODE_IP:30767" \
    --set global.storageClass="local" \
    --set appmanagerbase.openebs.enabled=false

验证安装

在浏览器中输入上个步骤的域名或者 IP,如果能够看到页面,说明已经安装完成(大约需等待 5 分钟左右),注册并开始使用 SREWorks。默认账号为 admin,默认密码为 12345678

卸载

请务必遵循下面顺序执行,否则可能会导致各种 crd 变成脏数据残留在集群!

$ helm uninstall sreworks -nsreworks
$ kubectl delete namespace sreworks

实践

接下来我们在 SREWorks 中,从 0 到 1 建立一个 Flink 云原生应用定义,发布 Flink 应用到市场,并交付部署 Flink 应用的完整过程。

1 . 新建 Flink 应用

登录 SREWorks 后,进入“交付/应用管理-应用开发”页面,点击“新建云原生应用”,在滑出的表单中输入 Flink 应用定义相关信息,完成 Flink 应用模板定义。

b39694a48e232505ed47c52aa3b4a586.jpeg

在应用开发模板列表下,点击应用定义名称,进入应用开发页面。

9e1c079da5e86b840dfe8d0405641abc.jpeg

2. 添加 Flink 应用组件

进入 Flink 应用模板后,在应用组件中添加“Helm”组件类型,将 Flink 中的 VVP 组件添加进来

0329b67c6fcfc5ab99cb30b083c60a2c.png

3. Flink 应用构建

在完成组件添加后,可以在“应用构建”页面进行一键构建,当前一键构建会自动计算版本,创建构建任务后,在构建列表中可查看刚刚提交的构建任务。

ba7c244307cc3f88bac2f2a4c9b972db.png

构建完成后,即可在构建列表中展示当前构建的应用及组件构建状态,同时可以在操作中一键部署测试和上架市场。

4. Flink 应用测试部署

应用测试实例支持多套部署,并会自动生成全局唯一的实例名,规则为“应用名-uid”。该实例被部署在同名的 namespace 下。

f2d52a08a6d83e119442822f20e2ba18.png

用户可自行对应用进行测试,测试通过后,可选择一键发布到市场的操作将应用版本发布到市场中。

5. Flink 应用发布上架

通过构建列表中指定构建任务的“上架市场”操作完成应用到市场的发布。

58410af94b98e2ae7dcdbb272dbe2956.png

6. Flink 应用部署

在市场中可以指定应用一键部署,当前默认部署应用的最新版本。

a5d4606eac891bc5b72bf5223cfe9ea0.png

7. Flink 应用实例管理

应用实例列表展示当前部署在 prod 的企业应用生产实例,并提供升级、回滚、卸载操作。

2929751a84d7d41451bac6187b7ddf34.png

Git 仓库:https://github.com/alibaba/SREWorks

本文转载自:「Github爱好者」,原文:https://url.hi-linux.com/nR8GB,版权归原作者所有。欢迎投稿,投稿邮箱: editor@hi-linux.com。

e56c6dc313c96079d2295e9342d9a95a.gif

最近,我们建立了一个技术交流微信群。目前群里已加入了不少行业内的大神,有兴趣的同学可以加入和我们一起交流技术,在 「奇妙的 Linux 世界」 公众号直接回复 「加群」 邀请你入群。

0bd720f3162bb55fd3dc6f78f01ffafa.png

你可能还喜欢

点击下方图片即可阅读

5ae6493de1c5a7e6eb8ae4bf46b04d50.png

XShell 用户福音,新一代支持多平台的免费 SSH 终端 WindTerm 来了

887bfa37582e5100a129888b7767d4cb.png
点击上方图片,『美团|饿了么』外卖红包天天免费领

269afb1279047ced77df019770bb00fa.png

更多有趣的互联网新鲜事,关注「奇妙的互联网」视频号全了解!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值