跳到主要内容

3 篇博文 含有标签「scow-deployment」

查看所有标签

SCOW升级:从v0.4.0(及以上)到v1.0.0

· 阅读需 4 分钟
Huangjun
Developer

本文档适用于从v0.4.0(及以上)升级到v1.0.0。

# 两种方式升级cli
# 1. 直接下载替换本地cli
wget https://github.com/PKUHPC/SCOW/releases/download/v1.0.0/cli-x64

# 2. 使用命令升级
./cli update --release v1.0.0

2. 添加审计日志功能

在install.yaml添加如下配置:

# 可添加审计日志功能,并配置审计日志数据库密码
audit:
dbPassword: "must!chang3this"

install.yaml配置参考(极简配置):

port: 80
basePath: /
imageTag: v1.0.0
portal:
portMappings: {}
mis:
dbPassword: must!chang3this
portMappings: {}
log:
fluentd:
logDir: /var/log/fluentd
auth:
portMappings: {}
audit:
dbPassword: "must!chang3this"
gateway:
proxyReadTimeout: 36000s

添加审计日志配置文件,在./config目录下添加audit.yaml

# 审计系统数据库的信息。可以不修改
db:
host: audit-db
port: 3306
user: root
dbName: scow_audit

3. 修改mis.yaml

修改mis.yaml,去掉源作业数据库相关配置,去掉fetchJobs.db配置,类似如下:

fetchJobs:
# 源作业信息数据库的数据库信息
db:
host: 192.168.188.11
port: 3306
user: root
password: "aUTx373~5pU@!&^6"
dbName: hpc
tableName: job_table
type: mysql

mis.yaml配置参考(极简配置):

db:
host: db
port: 3306
user: root
dbName: scow

fetchJobs:
periodicFetch:
enabled: true
cron: "*/10 * * * *"

predefinedChargingTypes:
- 测试

accountNamePattern:
regex: "(a_)[a-z]+$"

4. 部署适配器

适配器编译部署可参考文档

提示

由于github代码仓库下载的适配器可执行程序是由github action生成,glibc版本(2.34)较高,若slurm适配器部署节点的glibc版本低于该版本,建议下载源码,自行编译。

5. 修改集群配置文件

displayName: hpc01

loginNodes:
- name: hpc01_login01
address: hpc01_login01

adapterUrl: "192.168.188.102:8999"
提示

注意将登录节点loginNodes.address参数和适配器urladapterUrl修改为实际集群的值。详细配置可参考该文档

6. 交互式应用增加图标(可选)

支持为交互式应用配置图标:将图标文件上传至./public/apps/目录,并在应用配置文件中添加图标的路径。

例如给jupyter添加一个图标(已将jupyter.png上传至./public/apps/),在jupyter.yaml中添加如下内容:

logoPath: /apps/jupyter.png
提示

多集群下交互式应用配置可参考该文档

7. 登录页面添加slogan(可选)

支持登录界面自定义slogan内容,修改./config/auth.yaml文件,添加如下内容:

ui:
backgroundImagePath: "./assets/background.png"
backgroundFallbackColor: "#9a0000"
logoType: "dark"
slogan:
color: "white"
title: "开源算力中心门户和管理平台"
texts:
- "图形化界面,使用方便"
- "功能丰富,管理简单"
- "一体化部署,开箱即用"
- "标准化平台,支持算力融合"
- "开源中立,独立自主"
提示

详细配置可参考该文档

8. 重启服务

./cli compose down
./cli compose up -d

scow-cli

· 阅读需 2 分钟
Chen Junda
Developer

我们致力于以让大家更方便地部署、运维和管理SCOW集群。

之前的scow-deployment为了保证无需安装依赖均可使用,所以采用了和SCOW其他部分不一样的python语言开发,且无法使用第三方包的功能,限制了scow-deployment的功能。

为了解决这些问题,我们重新编写了scow-cli。此工具有以下特点:

  • 使用install.yaml进行配置,配置方式和系统其他部分相同
  • 可自由使用第三方包,功能扩展起来更加方便
  • 此工具采用和系统其他部分相同的技术栈编写,方便后续功能开发和维护
  • 打包为一个可以直接执行的可执行文件,同样无需安装任何依赖即可使用

scow-cli是后续增加更多命令行维护功能的基础,建议大家尽快从scow-deployment迁移到scow-cli

请参考scow-cli文档以下载scow-cli,以及了解如何从scow-deployment迁移到scow-cli

scow-deployment平滑升级指导

· 阅读需 3 分钟
Huangjun
Developer

上一个版本,PKUHPC/scow-deployment项目是纯通过Docker Compose实现的,主要用到了Docker Compose内置的profile功能、读取环境变量以及变量替换功能来实现类似不同配置。但是Docker Compose的这些功能较弱,无法满足未来更多自定义需求。

为简化部署的参数配置,同时为用户提供更易懂和灵活的参数配置,最新版本的PKUHPC/scow-deployment项目使用python动态生成Docker Compose文件,根据用户的需求生成更易理解的Docker Compose文件。

接下来,主要介绍如何平滑的从旧版本升级至新版本。

1. 停止scow服务

# 进入scow-deployment项目目录
cd scow-deployment

# 停止scow服务
docker-compose down

2. 备份配置文件

主要备份.env配置文件:

# 1. 创建备份目录
mkdir /path/to/backup

# 2. 备份部署的环境变量
cp .env /path/to/backup

3. 升级

拉取master分支最新代码:

cd /path/to/scow-deployment
# 同步最新代码
git pull

目录结构如下:

tree -L 1
├── compose.sh # 程序执行入口,执行该脚本会生成docker-compose.json、db.sh文件
├── config-example # scow业务配置模板文件目录
├── config-example.py # scow系统部署参数配置文件模板
├── fluent # fluent配置文件存放目录
├── generate.py # 部署配置文件生成python脚本
└── README.md

编写配置文件:

# 1. 复制配置文件
cp config-example.py config.py

# 2. 配置参数
# 根据和备份的.env文件和config.py中的参数说明,修改config.py文件中的参数

服务启动与停止:

# 启动服务
./compose.sh up -d

# 停止服务
./compose.sh down

./compose.sh支持所有基于Docker Compose文件的docker-compose命令,如:up、down、ps、restart等。

详细说明可参考PKUHPC/scow-deployment项目的README.md