专属
文档
插件
助手
邀请
顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单页面收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题轩辕镜像免费版
其他
关于我们网站地图
热门搜索:
ghcr.io/stackhpc/slurm-docker-cluster

ghcr.io/stackhpc/slurm-docker-cluster:e839442

ghcr.iolinux/amd64e839442大小: 未知更新于 2026年6月6日
让 AI 帮你使用轩辕镜像? · 展开查看说明

如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这句话即可:

请先完整阅读并严格遵守以下文档中的全部规则与要求:

https://xuanyuan.cloud/agents.md

在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

Slurm Docker 集群

这是一个使用 Kubernetes 的多容器 Slurm 集群。Slurm 集群 Helm 图表会创建一个命名卷,用于 MySQL 数据文件的持久化存储。默认情况下,它还会安装 RookNFS Helm 图表(也位于此仓库中),以在 Slurm 集群节点间提供共享存储。

依赖项

需满足以下要求:

  • 一个 Kubernetes 集群
  • 本地安装的 Helm、kubectl
  • Helm
  • kubectl

容器与卷

Helm 图表将运行以下容器:

  • login
  • mysql
  • slurmdbd
  • slurmctld
  • slurmd(默认 2 个副本)

Helm 图表将创建以下命名卷:

  • var_lib_mysql(挂载至 /var/lib/mysql)

还需要一个挂载至 /home 的命名 ReadWriteMany (RWX) 卷,该卷可以是外部卷,也可使用提供的 rooknfs 图表目录部署(参见“部署集群”)。

配置集群

slurm-cluster-chart/files 中的所有配置文件将在启动时挂载到容器中,以配置各自的服务。注意,对这些文件的更改不会全部传播到现有部署(参见“重新配置集群”)。Helm 图表的 values.yaml 文件中可找到其他参数。注意,其中部分值也需在集群重启后才会生效(参见“重新配置集群”)。

部署集群

生成集群密钥

仅在初始部署时运行以下命令:

./generate-secrets.sh [namespace]

这会在目标命名空间中生成一组供 Slurm 集群使用的密钥。如需重新生成这些密钥,请参见“重新配置集群”。

请务必记录 Open Ondemand 凭据,通过浏览器访问集群时需要使用。

连接 RWX 卷

集群节点间的共享存储需要 ReadWriteMany (RWX) 卷。默认情况下,Rook NFS Helm 图表会作为 Slurm 集群图表的依赖项安装,以提供支持 RWX 的 Storage Class 用于所需的共享卷。如果目标 Kubernetes 集群已有应使用的存储类,则应在 values.yaml 中将 storageClass 设置为该现有类的名称,并通过设置 rooknfs.enabled = false 禁用 RookNFS 依赖项。无论哪种情况,均可通过设置 storage.capacity 的值来配置已配置 RWX 卷的存储容量。

使用 RookNFS 提供共享存储卷时,有关更多配置选项,请参见单独的 RookNFS 图表 values.yaml。

提供公钥

要通过 ssh 访问集群,需提供公钥。可通过运行以下命令添加本地主机的所有公钥:

./publish-keys.sh [namespace]

其中 namespace 是 Slurm 集群图表将部署到的命名空间(即使用 helm install -n ...)。这将在相应命名空间中创建一个供 Slurm 集群使用的 Kubernetes Secret。省略命名空间参数将在默认命名空间中安装密钥。

使用 Helm 部署

使用适当的 kubeconfig 文件配置 kubectl 后,使用 Helm 图表部署集群:

helm install slurm-cluster-chart

[!NOTE] 如果使用 RookNFS 依赖项,则必须在安装 Slurm 集群图表之前运行以下命令:

> helm dependency update slurm-cluster-chart
>

后续版本可使用以下命令部署:

helm upgrade slurm-cluster-chart

注意:使用 helm upgrade 更新集群时,如果 Slurm 队列中有运行中的作业,预升级钩子将阻止升级。尝试升级会将所有 Slurm 节点设置为 DRAINED 状态。如果因运行中作业导致升级失败,可等待运行中作业完成后重试升级,或作为特权用户访问集群手动解除节点排水状态。也可通过使用 --no-hooks 标志运行 helm upgrade 绕过钩子(可能导致运行中作业丢失)。

访问集群

使用以下命令获取登录节点的外部 IP 地址:

LOGIN=$(kubectl get service login -o jsonpath="{.status.loadBalancer.ingress[0].ip}")

然后以 rocky 用户身份连接集群:

ssh rocky@$LOGIN

在 shell 中执行 Slurm 命令,例如:

[root@slurmctld /]# sinfo
PARTITION AVAIL TIMELIMIT NODES STATE NODELIST
normal* up 5-00:00:00 2 idle c[1-2]

运行 MPI 基准测试

容器中包含 Intel MPI 基准测试。可使用 mpirun 和 srun 运行,也可使用 apptainer 作为容器化工作负载运行。

作业脚本示例:

  • srun:
#!/usr/bin/env bash

#SBATCH -N 2
#SBATCH --ntasks-per-node=1

echo $SLURM_JOB_ID: $SLURM_JOB_NODELIST
srun /usr/lib64/openmpi/bin/mpitests-IMB-MPI1 pingpong
  • mpirun:
#!/usr/bin/env bash

#SBATCH -N 2
#SBATCH --ntasks-per-node=1

echo $SLURM_JOB_ID: $SLURM_JOB_NODELIST
/usr/lib64/openmpi/bin/mpirun --prefix /usr/lib64/openmpi mpitests-IMB-MPI1 pingpong
  • apptainer:
#!/usr/bin/env bash
#SBATCH -N2
#SBATCH --ntasks-per-node=1
MPI_CONTAINER_TAG="main"
echo SLURM_JOB_NAME: $SLURM_JOB_NAME
echo $SLURM_JOB_ID: $SLURM_JOB_NODELIST
srun singularity exec docker://ghcr.io/stackhpc/mpitests-container:${MPI_CONTAINER_TAG} /usr/lib64/openmpi/bin/mpitests-IMB-MPI1 pingpong

注意:mpirun 脚本假设以用户“rocky”身份运行。如果以 root 身份运行,需包含 --allow-run-as-root 参数。

重新配置集群

配置文件更改

对 slurm-cluster-chart/files/slurm.conf 中 Slurm 配置的更改,可通过运行以下命令传播(可能需要几秒钟)到除 slurmdbd pod 外所有 pod 的 /etc/slurm/slurm.conf:

helm upgrade slurm-cluster-chart/

然后可在 Slurm pod 内以 root 身份运行 scontrol reconfigure 读取新的 Slurm 配置。slurm.conf 文档指出,某些更改需要重启所有守护进程,此时需按以下说明重新部署 Slurm pod。

对其他配置文件(如 Munge 密钥等)的更改需要重新部署相应的 pod。

要重新部署 pod,请使用:

kubectl rollout restart deployment

用于 slurmdbd、login 和 mysql pod;使用:

kubectl rollout restart statefulset

用于 slurmd 和 slurmctld pod。

通常需要重启 slurmd、slurmctld、login 和 slurmdbd。

密钥更改

通过重新运行以下命令重新生成密钥:

./generate-secrets.sh

部分密钥持久化在卷中,因此轮换密钥需要完全拆除并重启这些卷及其挂载的 pod。运行:

kubectl delete deployment mysql
kubectl delete pvc var-lib-mysql
helm upgrade slurm-cluster-chart

然后重启其他依赖部署以传播更改:

kubectl rollout restart deployment slurmd slurmctld login slurmdbd

已知问题

轩辕镜像配置手册

按平台快速找到配置文档

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

iKuai 镜像加速

宝塔面板

一键配置镜像源

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

需要其他帮助?请查看我们的 常见问题 Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

功能

免费版与专业版区别

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

排错

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 请求频率

DNS 超时

DNS 解析 · 网络超时

账号

失败是否计费

manifest · blob · 计费

申请开发票(企业 / 个人)

企业 · 个人 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
ghcr.io/stackhpc/slurm-docker-cluster
博客Docker 镜像公告与技术博客
热门查看热门 Docker 镜像推荐
教程轩辕镜像功能与使用教程
安装一键安装 Docker 并配置镜像源
官方公众号:源码跳动|官方技术交流群:13763429
官方公众号:源码跳动|官方技术交流群:|问题咨询请:提交工单
商务合作:点击复制邮箱
©2024-2026 源码跳动
商务合作:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.