专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏

fnndsc/pman Docker 镜像 - 轩辕镜像

pman
fnndsc/pman
自动构建
pman(曾代表流程管理器)是一个Flask应用程序,提供API用于通过各种调度器(如Kubernetes、Podman、Docker Swarm和SLURM)创建作业,将自身的JSON接口转换为各种支持的后端请求,并与pfcon紧密耦合,通常作为一对部署提供pfcon服务。
1 收藏0 次下载activefnndsc镜像
🚀专业版镜像服务,面向生产环境设计
中文简介版本下载
🚀专业版镜像服务,面向生产环境设计

!ChRIS logo pman

![Version]([] ![ci]([]

[!CAUTION] pman 已被弃用并集成到 pfcon。

pman(曾代表process manager,流程管理器)是一个Flask应用程序,提供API用于通过各种调度器(如Kubernetes、Podman、Docker Swarm和SLURM)创建作业。它基本上将自身的JSON接口转换为对各种支持的后端的请求。

pman 与_pfcon_紧密耦合。pman 和 pfcon 通常作为一对部署,提供 pfcon 服务。

运行 pman

查看其实际运行的最简单方法是运行_miniChRIS-docker_。以下说明适用于_pman_的黑客和开发人员。

开发

本节描述如何设置本地_pman_实例进行开发。

使用Docker Compose

这些说明使用Docker和Docker Swarm在容器内运行_pman_以调度作业。启用代码更改的热重载。

shell
docker swarm init --advertise-addr 127.0.0.1
docker compose up -d
使用Docker Swarm

要使用docker stack deploy运行完整测试,请运行测试工具test_swarm.sh。

shell
./test_swarm.sh
使用Podman进行开发

_pman_必须能够通过与Podman套接字通信来通过Podman调度容器。

shell
systemctl --user start podman.service
export DOCKER_HOST="$(podman info --format '{{ .Host.RemoteSocket.Path }}')"
使用Python安装_pman_
shell
python -m venv venv
source venv/bin/activate
pip install -r requirements/local.txt
pip install -e .
使用Python在开发模式下运行_pman_
shell
python -m pman
使用Kind通过Kubernetes

[***]

配置

_pman_通过环境变量进行配置。有关其确切工作方式,请参阅pman/config.py中的源代码。

存储如何工作

_pman_依赖_pfcon_在称为"storeBase"的目录中管理数据。"storeBase"是集群中每个节点都可见的存储空间。

对于使用Docker和Podman的单机部署,最佳解决方案是使用由_pfcon_挂载在/var/local/storeBase的本地卷。_pman_应配置为STORAGE_TYPE=docker_local_volume VOLUME_NAME=...。

在Kubernetes上,应使用单个PersistentVolumeClaim。它由_pfcon_挂载在/var/local/storeBase。_pman_应配置为STORAGE_TYPE=kubernetes_pvc VOLUME_NAME=...。

SLURM没有卷的概念,但SLURM集群通常使用在每个节点上相同路径挂载的NFS共享。_pman_应配置为STORAGE_TYPE=host STOREBASE=...,将共享挂载点指定为STOREBASE。

swarm 与 docker 的比较

最初,_pman_与Docker Swarm API交互是为了支持多节点集群。然而,_pman_通常在单机上运行。开发环境、单机生产部署的CUBE的"主机"计算资源以及Power9超级计算机上的CUBE生产部署都是这种情况。Swarm模式主要是一种麻烦,其多节点能力测试不足。此外,多节点功能更好地由CONTAINER_ENV=kubernetes提供。

在_pman_ v4.1中,CONTAINER_ENV=docker作为新功能引入并成为默认配置。在此模式下,_pman_使用Docker Engine API而不是Swarm API,这对于单机用例更加方便。

Podman支持

CONTAINER_ENV=docker与Podman兼容。

已知Podman版本3或4可以工作。

无根Podman

配置用户能够设置资源限制。

[***]

环境变量
环境变量描述
SECRET_KEYFlask密钥
CONTAINER_ENV以下之一: "swarm", "kubernetes", "cromwell", "docker"
STORAGE_TYPE以下之一: "host", "docker_local_volume", "kubernetes_pvc"
STOREBASE作业数据存储位置,当STORAGE_TYPE=host时有效,与VOLUME_NAME冲突
VOLUME_NAME数据卷名称,当STORAGE_TYPE=docker_local_volume或STORAGE_TYPE=kubernetes_pvc时有效
PFCON_SELECTORpfcon容器上的标签,可指定让pman自动发现VOLUME_NAME(默认: org.chrisproject.role=pfcon)
CONTAINER_USER以UID:GID格式设置作业容器用户,可以是随机值范围
ENABLE_HOME_WORKAROUND如果设置为"yes",则设置作业环境变量HOME=/tmp
SHM_SIZE/dev/shm的大小(以mebibytes为单位)。(仅在Docker、Podman和Kubernetes中支持。)
JOB_LABELSCSV列表的key=value对,应用于容器作业的标签
JOB_LOGS_TAIL(int) 作业日志的最大大小
IGNORE_LIMITS如果设置为"yes",则不对容器作业设置资源限制(用于不费力地使事情工作)
REMOVE_JOBS如果设置为"no",则pman不会删除作业(用于调试)
STOREAGE_TYPE=host

当STORAGE_TYPE=host时,将STOREBASE指定为主机上的挂载点路径。

STOREAGE_TYPE=docker_local_volume

对于单机实例,使用Docker/Podman本地卷作为"storeBase"。卷应在_pman_启动之前存在。可以通过以下两种方式之一识别它:

  • 手动,通过将卷名传递给变量VOLUME_NAME
  • 自动:_pman_检查带有标签org.chrisproject.role=pfcon的容器,并选择绑定到/var/local/storeBase的挂载点
STORAGE_TYPE=kubernetes_pvc

当STORAGE_TYPE=kubernetes_pvc时,VOLUME_NAME必须是配置为ReadWriteMany的PersistentVolumeClaim的名称。

在卷仅对特定UNIX用户可写的情况下(例如NFS支持的卷),CONTAINER_USER可用作解决方法。

Kubernetes特定选项

当CONTAINER_ENV=kubernetes时适用

环境变量描述
JOB_NAMESPACE创建作业的Kubernetes命名空间
NODE_SELECTORPod的nodeSelector
SLURM特定选项

当CONTAINER_ENV=cromwell时适用

环境变量描述
CROMWELL_URLCromwell URL
TIMELIMIT_MINUTESSLURM作业时间限制

有关其工作原理,请参见[***]

容器用户安全

设置任意容器用户(例如CONTAINER_USER=***:***)可提高安全性,但会导致(不安全编写的)_ChRIS_插件失败。在某些情况下,ENABLE_HOME_WORKAROUND=yes可以使插件工作而无需更改其代码。

可以使用随机容器用户CONTAINER_USER=***-2147483647:***-2147483647,但考虑到pfcon的UID永远不会更改,这将导致一切中断。

缺失功能

_pman_的配置多年来变得混乱,因为它试图提供跨截然不同系统的接口。某些选项的混合搭配不受支持:

  • IGNORE_LIMITS=yes仅适用于CONTAINER_ENV=docker(或podman)。
  • JOB_LABELS=...仅适用于CONTAINER_ENV=docker(或podman)和CONTAINER_ENV=kubernetes。
  • CONTAINER_USER不适用于CONTAINER_ENV=cromwell
  • CONTAINER_ENV=cromwell不转发环境变量。
  • STORAGE_TYPE=host不支持Kubernetes

待办事项

  • Kubernetes和SLURM的开发环境和测试。
查看更多 pman 相关镜像 →
mosipid/kernel-otpmanager-service logo
mosipid/kernel-otpmanager-service
by MOSIP
暂无描述
100K+ pulls
上次更新:20 天前
victoriametrics/vmbackupmanager logo
victoriametrics/vmbackupmanager
by Victoria Metrics
认证
用于为VictoriaMetrics实例调度备份并管理保留策略的简单守护进程。
2100K+ pulls
上次更新:7 天前
mosipdev/kernel-otpmanager-service logo
mosipdev/kernel-otpmanager-service
by MOSIP
暂无描述
10K+ pulls
上次更新:19 天前
fnndsc/pfcon logo
fnndsc/pfcon
by fnndsc
pfcon是一个控制服务,作为进程管理器pman服务的接口,主要为ChRIS后端提供计算资源服务,可访问pman和pfioh服务,实现作业状态查询、文件处理及远程数据传输等功能。
100K+ pulls
上次更新:1 个月前

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

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

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

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

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

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

轩辕镜像
镜像详情
...
fnndsc/pman
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
免费获取在线技术支持请 提交工单,官方QQ群:13763429 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
免费获取在线技术支持请提交工单,官方QQ群: 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.
轩辕镜像 官方专业版 Logo
轩辕镜像轩辕镜像官方专业版
首页个人中心搜索镜像
交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429