IRC实验室信息维护和计算资源管理主要包括以下几个方面
- 校内服务器管理✅已全面启用Docker化 还需对接ip推送更新
目前针对线上和校内服务器均采取了Docker容器化部署,特别是面向用户使用时改良了Docker容器使用,支持fixuid用户追溯和看板机器推送实时资源使用状态,支持多cuda版本自由切换和数据盘分离,只维护系统和显卡驱动,有效降低运维工作量和由于同学多环境导致系统显卡驱动冲突等问题。
但对于实验室运维来说,校内服务器的ip经常跳变,需要频繁到内部网站更新以及更新看板管理机、vps机代码配置重新运行(即虽然看板服务是容器化的,但ip一变,对应的配置的代码需要一系列改动再重启容器)。且之前内部网站更新在在线文档后被封、office在线表格查看较慢、其他人修改不方便,需要对整套流程进行自动化构建,依赖github分支推送自动更新维护。
- github端增加webhook,每次push后向vps后端新增接口发送请求,将vps端自动进行pull更新代码,实现网站端自动更新(优先)
- 增加前后端部分信息AES加密方式,支持用户merge request时提供加密内容
- 内部网站需考虑组织形式重构,改为前端静态文件+隐秘信息用密码&AES加密+后端解码返回。对于IP信息、各类备份方法可以公开,分别以json和markdown格式保存github托管/vps前端nginx托管文件,但账号密码和代理链接等需要加密,且之前的内网设置密码方式意义不大,信息依然暴露在github仓库中,需要考虑用密钥加密,可以考虑后端增加接口以数据库+密钥方式保存,或采用前端+密码方式,具体合理性待比较。
- 目前内部网站已改为office在线文档形式,主要需要动态维护信息为校内机器的ip,其他的需要能够支持所有人修改补充。
- 计划将静态文件放在github托管,网站的其他内容采用markdown编写,支持多人git-merge,ip信息统一
- 增加Docker3:校内看板托管机增加web接口,其他机器向托管机发送实时ip,由托管机(联网认证)统一push更新实时ip地址