ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Jupyter Enterprise Gateway 4.0 路线图解读:Kernel Provisioners 与参数化内核将带来什么?

Jupyter Enterprise Gateway 4.0 路线图解读:Kernel Provisioners 与参数化内核将带来什么? Jupyter Enterprise Gateway 4.0 路线图解读Kernel Provisioners 与参数化内核将带来什么【免费下载链接】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_gatewayJupyter Enterprise Gateway 是一个轻量级、多租户、可扩展且安全的网关它让 Jupyter Notebook 能够跨 Apache Spark、Kubernetes、YARN 等分布式集群共享内核资源。在官方路线图中4.0 版本的两大核心特性——Kernel Provisioners 与参数化内核Parameterized Kernels——被寄予厚望。本文将结合官方路线图逐条解读这两项能力到底是什么、将带来哪些变化以及普通用户与运维人员应该如何提前准备。为什么需要 Jupyter Enterprise Gateway在没有网关的时代每个 Jupyter Notebook 的内核都只能运行在笔记本所在的单一节点上。随着用户和任务增多单机内存与 CPU 迅速成为瓶颈内核之间还会互相争抢资源、带来安全隐患——这本质上是资源孤岛问题。Jupyter Enterprise Gateway 的解法是把内核启动能力抽象到资源管理器YARN、Kubernetes 等之上用户发出请求后网关负责在集群中按需调度内核而 Notebook 前端无需关心内核到底跑在哪台机器上。如上图所示引入网关之后随着集群节点从 4 个扩展到 16 个可同时运行的内核数量呈近似线性增长这正是可扩展性最直观的体现。Kernel Provisioners 是什么为什么是 4.0 的核心要理解 Kernel Provisioners先要了解当前版本中的进程代理Process Proxy。在 3.x 中Enterprise Gateway 通过process_proxy机制接管内核的生命周期管理例如 YARN 上的YarnClusterProcessProxy、Kubernetes 上的KubernetesProcessProxy都位于 enterprise_gateway/services/processproxies/ 目录下核心抽象可参考 processproxy.py。Kernel Provisioners 本质上是正确融入 Jupyter 官方框架的进程代理。按官方文档 dev-process-proxy.md 的说法两者结构几乎相同但 Provisioner 直接挂接在jupyter_client的官方机制上因此能彻底去掉 Enterprise Gateway 对jupyter_client 7、jupyter_server 2的版本锁定让网关与最新版 Jupyter 生态完全同步。这意味着 4.0 之后开发者可以在标准 Jupyter 框架内编写自定义 Provisioner而不再依赖网关内部的各类KernelManager钩子社区贡献的 Provisioner 可以通用化被整个 Jupyter 生态复用网关自身代码大幅瘦身升级和维护成本显著下降。参数化内核让内核启动变成一次交互问答路线图中第二项核心能力是参数化内核Parameterized Kernels它大概率建立在 Kernel Provisioners 之上。简单来说就是允许内核启动时弹出参数提示——例如 Spark 的 executor 数量、内存大小、Python 版本、资源队列等都可以在创建内核时由用户填写或选择而不是写死在 kernel spec 里。对数据工程师来说这非常实用同一套 Notebook 代码可以按需启动小内存快速验证或大集群跑批的不同内核配置而不需要维护多份 kernel.json。4.0 之后还有哪些值得期待的方向除了上述两大特性路线图中的心愿清单同样值得关注高可用High Availability会话持久化已支持文件与 Webhook 两种方式未来将扩展为共享存储如 NoSQL 数据库并支持双活部署多网关支持单个 Jupyter Server 可同时对接多个网关服务器实现负载分担可插拔负载均衡目前DistributedProcessProxy使用简单的轮询算法未来可替换为更智能的策略参考 distributed.py更多资源管理器如 Slurm、Mesos管理 UI提供运行中内核的仪表盘支持生命周期管理、运行时长查看、停止/重启等操作。而 3.x 已经完成的基础——Spark 3.0 支持、Spark Operatorspark_operator.py、CRD 支持crd.py、会话持久化等——将为 4.0 提供坚实的地基。内核如何对接不同平台可以参考 system-architecture.md 与各类内核规格定义如 spark_python_yarn_cluster/kernel.json。普通用户如何为 4.0 做好准备关注官方路线图定期查看 roadmap.md了解特性进度与发布时间评估现有扩展如果你或团队基于进程代理做了定制扩展建议对照 dev-process-proxy.md 提前评估迁移到 Kernel Provisioner 的成本跟上 Jupyter 版本4.0 解除版本锁定后可以放心升级jupyter_client与jupyter_server尽早体验新特性。结语Jupyter Enterprise Gateway 4.0 的路线图清晰地指向标准化与开放Kernel Provisioners 让内核调度能力回归 Jupyter 官方体系参数化内核则把灵活性交给终端用户。对团队而言这既意味着更低的维护成本也意味着更灵活的集群资源利用方式。如果你正在大规模运行 Jupyter 工作负载这个版本值得密切关注。【免费下载链接】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),仅供参考
返回列表