Skip to main content
Version: Next

2.1 快速安装

本文将指导您以最小化的方式将 SREWorks 安装在Kubernetes集群上。

  • 如果需要更多更完整的安装案例,请参考 2.3 章节
  • 如果需要公司内网安装,请参考《离线安装

1. 前提条件

  • Kubernetes 的版本需要大于等于 1.20
  • 硬件:
    • 分布式部署: 建议至少3台节点(配置为4 核 CPU,16G 内存),存储需要300G以上空间,k8s集群至少能够90个以上的Pod。
    • 单机完整(数智版)部署: 建议至少 8核/32G内存/300G硬盘。
    • 单机基础版部署: 建议至少 4核/16G内存/100G硬盘。
  • 安装步骤以及时长(以完整版为例):
      1. 在Kubernetes集群上部署SREWorks底座 预计_ _1-2 分钟
      1. 在SREWorks底座上部署运维应用 预计 5-15 分钟
      1. 安装完成通过浏览器访问站点

2. 安装部署

推荐使用 Helm 来安装 SREWorks

安装 Helm

使用以下命令安装(如果已安装了 Helm 3,可以跳过这一步骤):

# 适用Mac intel芯片
wget "http://sreworks.oss-cn-beijing.aliyuncs.com/bin/helm-darwin-amd64" -O helm

# 适用Linux intel芯片
# wget https://sreworks.oss-cn-beijing.aliyuncs.com/bin/helm-linux-am64 -O helm

chmod +x ./helm
mv ./helm /usr/local/bin/

选择网络模式: Ingress/NodePort

不熟悉Ingress的同学,可以参考 Kubernetes 文档 / 概念 / 服务、负载均衡和联网 / Ingress

Ingress模式

SREWorks在Ingress模式下的部署必须指定ingress的域名。

  • 以阿里云ACK集群为例,域名可以在【基本信息】中可以找到,例如 http://*.ceea604.cn-huhehaote.alicontainer.com ,* 部分用户可以自行填写,比如http://sreworks.c34a60e3c93854680b590b0d5a190310a.cn-zhangjiakou.alicontainer.com
  • 未使用阿里云ACK集群的也可以自行确定浏览器访问SREWorks控制台的域名,在安装时传入appmanager.home.url参数即可。

Ingress网络模式部署参数参考如下:

--set appmanager.home.url="https://your-website.***.com" 

NodePort模式

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

NodePort网络模式部署参数参考如下:

--set global.accessMode="nodePort" 
--set appmanager.home.url="http://NODE_IP:30767"

执行部署命令

  • 基础应用包含8个应用: 运维中台/应用管理/团队管理/集群管理/模板中心/帮助中心/文件管理/系统设置
  • 数智应用包含7个应用: 数据运维平台/智能运维平台/故障自愈/健康管理/运营中心/作业调度平台/运维搜索

基础版SREWorks在单台4核16G机器上即可正常启动,基础版部署为基础应用,默认完整部署为 基础应用 + 数智应用。
基础版+NodePort网络模式,部署命令参考如下:

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

# 安装SREWorks
# 替换NODE_IP为某个节点的浏览器可访问IP
helm install sreworks ./ \
--create-namespace --namespace sreworks \
--set global.accessMode="nodePort" \
--set appmanager.home.url="http://NODE_IP:30767" \
--set appmanager.server.jwtSecretKey="自定义秘钥/与其他人不同即可" \
--set saas.onlyBase=true
info

如果需要安装完整版,直接去除 --set saas.onlyBase=true 参数即可,默认为false,即安装完整版。

如果需要了解更多的安装参数,请参考《安装参数明细

3. 验证安装

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

4. 卸载

请务必遵循下面顺序执行。千万不能不执行helm uninstall直接删除namespace,这会导致各种crd变成脏数据残留在集群!

helm uninstall sreworks -nsreworks
kubectl delete namespace sreworks

5. 常见问题

    1. 需要使用非默认的kubeconfig,请在helm命令中加入--kubeconfig指定目标集群的kubeconfig文件的路径
    1. 如果遇到长时间Pod处于ContainerCreating,请执行 kubectl describe pod 命令查看Pod的异常事件
    • 异常事件中出现 InvalidInstanceType.NotSupportDiskCategory,说明当前的Node不支持挂载这种云盘类型,请在helm命令中加入 --set global.storageClass="alicloud-disk-essd" 进行指定,默认为sreworks-hostpath
    • 如果无法确认可用的storageClass,可以使用 sbin/storage-class.py 脚本检测。
    1. 如果sreworks需要升级,可以使用 sbin/upgrade-cluster.sh --kubeconfig="****"来进行执行,该命令的背后原理是触发所有的init-job重新执行,拉取最新的SaaS应用包进行部署。
    1. 如果不使用默认的存储集,必须使用 --set localPathProvisioner=false 来关闭,否则可能出现下面类似的报错。
MountVolume.MountDevice failed for volume "d-2zec7mb0xriw4p64l3r5" : rpc error: code = Unknown desc = Root device /dev/vde is partition, and you should format /dev/vde1 by hands