尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
在 Docker Swarm 部署 Jupyter Enterprise Gateway:容器化远程内核实战指南
在 Docker Swarm 部署 Jupyter Enterprise Gateway容器化远程内核实战指南【免费下载链接】enterprise_gatewayA lightweight, multi-tenant, scalable and secure gateway that enables Jupyter Notebooks to share resources across distributed clusters such as Apache Spark, Kubernetes and others.项目地址: https://gitcode.com/gh_mirrors/en/enterprise_gateway本文是一份面向初学者的Jupyter Enterprise GatewayJEGDocker Swarm 部署实战指南。Jupyter Enterprise Gateway 是一个轻量级、多租户、可扩展且安全的网关它让 Jupyter Notebook 能够把内核进程远程化动态调度到 Apache Spark、Kubernetes、Docker Swarm 等分布式集群上运行。本文将以 Docker Swarm 为例带你一步步完成容器化远程内核的部署与配置并解释内核如何以 Swarm Service 的形式在集群中弹性运行。上图展示了 Jupyter Enterprise Gateway 的核心架构客户端通过 HTTPS/WSS 连接网关网关通过 ZMQ 将内核调度到分布式集群的各个节点上。为什么选择 Docker Swarm 部署远程内核在传统 Jupyter Notebook 架构中内核是本地进程资源被单台机器锁死而通过Jupyter Enterprise Gateway 容器化部署内核变成了可调度的分布式单元天然获得三大优势弹性伸缩内核作为 Swarm Service 可落在集群任意节点横向扩展无压力资源隔离每个内核独立容器互不干扰多租户场景更安全统一运维复用 Docker Swarm 的监控、重启与调度能力。对比上面两张动图可以发现同样的集群规模下使用 Jupyter Enterprise Gateway 后可同时运行的远程内核数量大幅提升。部署前需要准备什么✅在动手Docker Swarm 部署 Jupyter Enterprise Gateway之前请确认环境满足以下条件一个已初始化的 Docker Swarm 集群在管理节点执行docker swarm init集群中可拉取以下镜像来自 Docker Hub 的 elyra 组织elyra/enterprise-gateway网关主镜像含服务器软件与默认内核规格elyra/kernel-pyPython 远程内核镜像elyra/kernel-r、elyra/kernel-scala、elyra/kernel-tf-py等按需使用管理节点拥有/var/run/docker.sock的访问权限网关需要用它来创建内核服务。本地构建镜像可运行make docker-images相关 Dockerfile 位于 etc/docker/例如 enterprise-gateway/Dockerfile。一键部署步骤docker stack 快速上手指南 ️项目仓库中已经为你准备好了 compose 栈定义文件 docker-compose.yml。它创建了一个专供 Enterprise Gateway 与内核服务通信的overlay 网络并附带一个 HAProxy 代理服务用于入口负载均衡。部署命令在 Swarm 管理节点执行docker stack deploy -c docker-compose.yml enterprise-gateway执行后enterprise-gateway会以 Swarm Service 的形式出现在集群中所有相关对象包括内核实例都会被自动打上appenterprise-gateway标签。compose 文件关键配置解读让我们看看 docker-compose.yml 中几个值得关注的配置点挂载 Docker Socket/var/run/docker.sock必须挂载进容器否则网关无法动态创建内核 Service网络环境变量EG_DOCKER_NETWORK指定内核加入的 overlay 网络内核白名单EG_ALLOWED_KERNELS默认允许r_docker、python_docker、python_tf_docker、python_tf_gpu_docker、scala_docker五种容器化内核副本数目前由于 Swarm 的会话亲和性session affinity尚未完全支持服务默认配置为单副本replicas: 1。配置容器化远程内核理解 DockerSwarmProcessProxy 当用户请求启动内核时Jupyter Enterprise Gateway 会根据内核规格文件kernel.json中的process_proxy配置来决定创建哪种实体。在Docker Swarm 部署场景下关键类就是DockerSwarmProcessProxy其实现位于 docker_swarm.py它通过kernel_id标签查找对应的 Swarm Service跟踪 Task 的preparing → starting → running状态等待内核就绪内核退出后自动调用terminate_container_resources清理 Service。内核如何被远程化启动以 Python 远程内核为例其内核规格文件位于 python_docker/kernel.json。关键配置如下{ metadata: { process_proxy: { class_name: enterprise_gateway.services.processproxies.docker_swarm.DockerSwarmProcessProxy, config: { image_name: elyra/kernel-py:VERSION } } }, argv: [ python, /usr/local/share/jupyter/kernels/python_docker/scripts/launch_docker.py, --RemoteProcessProxy.kernel-id, {kernel_id}, --RemoteProcessProxy.response-address, {response_address}, --RemoteProcessProxy.public-key, {public_key} ] }实际启动时真正被调用的并非内核进程本身而是启动脚本 launch_docker.py。它会通过 Docker Python API 完成以下动作读取KERNEL_IMAGE环境变量校验镜像名合法性用KERNEL_USERNAME-kernel_id生成 Service 名称打上kernel_id、componentkernel、appenterprise-gateway三个标签以dnsrr端点模式、none重启策略创建 Swarm Service将内核加入与网关相同的 overlay 网络。 若改用DockerProcessProxy内核则会以传统 Docker 容器形式运行在网关所在宿主机上。两种模式可混用即使网关以 Swarm Service 部署也可以让某个内核以普通容器方式运行。验证与连接从 Notebook 使用远程内核 部署完成后打开 Jupyter Notebook 并配置连接到网关默认端口 8888由 HAProxy 转发到网关服务。在 Notebook 中你会看到新增的Python on Docker、R on Docker等内核选项选择后内核便会在 Swarm 集群中动态创建并回连。排错时可关注以下要点日志查看网关日志确认内核启动状态与 Task 状态流转网络确认内核与网关处于同一 overlay 网络环境变量EG_DOCKER_NETWORK超时如内核长时间处于 starting可调大EG_KERNEL_LAUNCH_TIMEOUT环境变量。官方文档与源码指引 如果你想深入了解推荐阅读以下项目内资料官方部署文档deploy-docker.mdDocker 与 Swarm 部署详解Docker 镜像说明docker.md各内核镜像的构建与使用网关启动脚本start-enterprise-gateway.sh默认内核名、超时、日志级别等参数入口容器化内核生命周期管理源码docker_swarm.py更多内核规格示例etc/kernelspecs/。结语通过本文的Docker Swarm 部署 Jupyter Enterprise Gateway实战你已经掌握了从 compose 栈部署、内核规格配置到远程内核启动验证的完整链路。Jupyter Enterprise Gateway 让 Notebook 摆脱单机束缚把容器化远程内核的能力真正落地——无论是小团队开发环境还是多租户生产集群这套方案都能帮助你更高效地共享集群资源。现在就动手试试吧【免费下载链接】enterprise_gatewayA lightweight, multi-tenant, scalable and secure gateway that enables Jupyter Notebooks to share resources across distributed clusters such as Apache Spark, Kubernetes and others.项目地址: https://gitcode.com/gh_mirrors/en/enterprise_gateway创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

给网页请一位“动画导演“:AOS 滚动动画库完整指南

给网页请一位“动画导演“:AOS 滚动动画库完整指南

给网页请一位"动画导演":AOS 滚动动画库完整指南 【免费下载链接】aos Animate on scroll library 项目地址: https://gitcode.com/gh_mirrors/ao/aos 滚动页面时元素次第亮起,是 AOS(Animate on Scroll)最擅长的…

📅 2026/10/25 18:41:22
Loop 窗口管理上手:一条触发键加一个径向菜单,把窗口调度时间省掉一半

Loop 窗口管理上手:一条触发键加一个径向菜单,把窗口调度时间省掉一半

Loop 窗口管理上手:一条触发键加一个径向菜单,把窗口调度时间省掉一半 【免费下载链接】Loop Window management made elegant. 项目地址: https://gitcode.com/GitHub_Trending/lo/Loop 办公室职员平均每天要花 10 分钟拖拽、缩放和切换窗口&…

📅 2026/10/25 18:41:38
激活总失败?KMS_VL_ALL_AIO帮你拆解Windows与Office永久激活的三个死结

激活总失败?KMS_VL_ALL_AIO帮你拆解Windows与Office永久激活的三个死结

激活总失败?KMS_VL_ALL_AIO帮你拆解Windows与Office永久激活的三个死结 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 你肯定见过这种画面:右下角的水印像牛皮癣一样甩不…

📅 2026/10/6 12:49:58
MORE NEWS

更多资讯

📰

AI驱动科研范式:实验设计、多模态对齐与可信计算落地实践

简介:本资源是浙江大学朱霖潮教授主讲的AI驱动科学研究前沿讲座实录PDF,面向科研人员、高校师生及AI交叉领域从业者,系统阐释人工智能如何重构科学发现全流程。内容深度梳理经验、理论、计算、数据四大传统范式演进脉络,并聚焦第五…

📰

OpenCV美颜算法实战:从肤色分割到关键点形变的全流程实现

简介:本资源是一套基于OpenCV实现人脸美颜效果的完整学习与开发包,面向图像处理初学者、计算机视觉开发者及AI应用实践者,聚焦美白、扩眼、瘦脸等核心美颜算法的原理讲解与工程落地。压缩包共85个文件,涵盖15份PDF教学讲义&#x…

📰

PyTorch深度学习入门:从张量到CNN/RNN/GAN实战

简介:面向深度学习初学者、转行开发者与课程学员的 PyTorch 入门实战配套材料,围绕神经网络基础、卷积网络、循环网络、生成对抗网络及图卷积等主题,提供可对照视频教程运行的源代码、课件与实验素材,帮助读者从环境安装逐步过渡到…

📰

时间序列预测模型选型与调参:从BP、SVM到CNN+LSTM

简介:一套面向时间序列预测学习者的综合资源包,整合BP神经网络、CNN、LSTM、GRU、RNN、SVM与CNNLSTM等主流模型,帮助读者在统一框架下对照经典机器学习与深度学习方法,系统掌握预测建模全流程。压缩包共25个文件,以9个…

📰

LangChain架构本质:Runnable契约与LCEL编译器原理

1. 这不是“教程”,是我在三个生产项目里拆出来的LangChain骨架你点开这个标题,大概率是因为刚被“LangChain入门”“LangChain中文教程”这类关键词推送到页面——然后发现满屏都是pip install langchain、from langchain import ...、再配上一段调用Op…

📰

XSLT高效处理XML的7大核心技巧与实战优化

1. XSLT与XML编辑的核心价值解析在数据处理领域,XML作为结构化数据载体已有二十余年历史。根据2023年Stack Overflow开发者调查,仍有67%的企业系统在使用XML进行数据交换。而XSLT(Extensible Stylesheet Language Transformations&#xff09…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬