ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

LeaderWorkerSet 安装完全指南:kubectl 与 Helm 两种方式一次搞定

LeaderWorkerSet 安装完全指南:kubectl 与 Helm 两种方式一次搞定 LeaderWorkerSet 安装完全指南kubectl 与 Helm 两种方式一次搞定【免费下载链接】lwsLeaderWorkerSet: An API for deploying a group of pods as a unit of replication项目地址: https://gitcode.com/gh_mirrors/lws2/lwsLeaderWorkerSetLWS是一个面向 Kubernetes 的开源 API它把一组 Pod 当作一个复制单元来统一部署和管理特别适合大模型多机推理这类 AI/ML 工作负载。不少刚接触它的开发者都会卡在第一步怎么装这篇 LeaderWorkerSet 安装教程将带你用 kubectl 和 Helm 两种方式完成安装并做好安装验证、示例部署与卸载一次搞定不用再四处翻文档。安装 LeaderWorkerSet 前的环境准备先对照这份检查清单在动手之前先确认以下条件是否满足否则安装过程中容易出现各种莫名奇妙的问题Kubernetes 集群版本 ≥ 1.26若集群恰好是 1.26需要手动开启 StartOrdinal 特性门控更高版本默认已开启集群至少有 1 个节点具备 1 核 CPU 与 1G 可用内存供 LWS 控制器管理器运行本机已安装 kubectl 并能正常访问集群用kubectl get nodes验证选择 Helm 方式时需要 Helm v3.0 及以上版本用helm version查看可选cert-manager用于证书自动轮换场景建议先花两分钟把环境核对一遍后面会省下大量排错时间。方式一用 kubectl 快速安装 LeaderWorkerSet新手首选kubectl 方式最直观适合快速体验、本地测试和 CI 环境也是大多数官方示例默认采用的方式。第一步克隆源码并应用默认配置把仓库克隆到本地然后直接用 Kustomize 应用默认配置其中包含 CRD、控制器 Deployment、Webhook 与 RBAC 等全部资源git clone https://gitcode.com/gh_mirrors/lws2/lws cd lws kubectl apply --server-side -k config/default默认配置的入口文件在config/default/kustomization.yaml控制器会运行在lws-system命名空间中。第二步等待控制器就绪并确认 Pod 状态执行下面的命令等待lws-controller-manager可用再查看命名空间内的 Podkubectl wait deploy/lws-controller-manager -n lws-system --forconditionavailable --timeout5m kubectl get pods -n lws-system看到lws-controller-manager的 READY 为 1/1、状态为 Running就说明 kubectl 方式安装成功 ✅方式二用 Helm 安装 LeaderWorkerSet生产环境推荐Helm 方式便于版本管理、参数化配置和升级回滚适合生产环境长期使用。官方提供了 OCI 镜像仓库和本地 Chart 源码两种来源任选其一即可。一条命令从 OCI 仓库完成 Helm 安装这是最省事的方式无需下载源码直接指定 OCI 仓库地址即可helm install lws oci://registry.k8s.io/lws/charts/lws \ --namespace lws-system \ --create-namespace \ --wait --timeout 300s--create-namespace会自动创建lws-system命名空间--wait会等待所有资源就绪后再返回。从本地 Chart 源码安装 LeaderWorkerSet如果你希望基于源码定制配置也可以克隆仓库后从本地安装git clone https://gitcode.com/gh_mirrors/lws2/lws cd lws/charts helm install lws lws --create-namespace --namespace lws-systemChart 的可调参数都集中在charts/lws/values.yaml比如镜像仓库、副本数、资源配额等安装前可以先浏览一遍。快速验证 Helm 安装结果kubectl get deploy -n lws-system kubectl wait deploy/lws-system-controller-manager -n lws-system --forconditionavailable --timeout5m正常情况下你会看到lws-system-controller-manager的 READY 为 1/1。注意Helm 方式安装出的 Deployment 名称带lws-system-前缀与 kubectl 方式略有不同不要照抄错了。安装后验证部署你的第一个 LeaderWorkerSet 示例装好之后立刻用一个真实示例验证 API 是否正常工作。项目自带示例定义在config/samples/leaderworkerset_v1_leaderworkerset.yaml它描述了一个 3 副本、每组 1 个 Leader 3 个 Worker 的 nginx 集群kubectl apply -f config/samples/leaderworkerset_v1_leaderworkerset.yaml kubectl get leaderworkersets kubectl get pods -l leaderworkerset.sigs.k8s.io/nameleaderworkerset-sample如果一切正常你会看到名为leaderworkerset-sample的 LWS 对象以及按组划分的 Pod 列表——每组 Pod 拥有从 0 开始的唯一序号生命周期保持一致这正是 LeaderWorkerSet 的核心能力。在真实世界里SaxML 这类分布式推理系统正是基于这种 Leader-Worker 模式构建的Leader 负责对外提供 HTTP 服务与模型管理Worker 负责承载模型实例、响应推理请求。如何卸载 LeaderWorkerSet不再需要时可以随时卸载两种方式对应两条命令# 使用 kubectl 安装的 kubectl delete -k config/default # 使用 Helm 安装的 helm uninstall lws --namespace lws-system需要提醒的是Helm 卸载不会删除crds/目录下的 CRD 资源如果你确实要彻底清理需要额外手动删除对应的 CRD 对象。常见问题与故障排查控制器 Pod 一直 Pending多半是节点资源不足请确认节点至少有 1 核 CPU 和 1G 可用内存部分云厂商的默认机型规格过小建议换更大的机型。安装后找不到 CRD请确认集群版本 ≥ 1.26如果使用 1.26还需要手动开启 StartOrdinal 特性门控。Helm upgrade 后新字段不生效这是 Helm 的固有行为——它只在首次helm install时安装crds/目录下的 CRD升级时不会更新。升级前需要先手动应用新 CRDkubectl apply --server-side --force-conflicts -f lws/crds helm upgrade lws oci://registry.k8s.io/lws/charts/lws --namespace lws-system想换命名空间修改config/default/kustomization.yaml中的namespace字段后再执行kubectl apply -k config/default即可。进阶玩法Gang Scheduling、监控与证书安装只是起点LWS 还支持不少实用能力按需开启即可Gang Scheduling团伙调度支持全有或全无的组调度通过集成 Volcano 调度器实现开启后同一组的 Pod 要么全部被调度、要么一个都不调度避免资源死锁。相关时序逻辑可参考 KEP 文档keps/407-gang-scheduling/README.mdPrometheus 监控Helm 安装时加--set enablePrometheustrue即可开启指标采集相关清单位于charts/lws/templates/prometheus/。Cert-Manager 证书需要证书自动轮换时加--set enableCertManagertrue即可接入 cert-manager 生成证书并注入 CA Bundle。DisaggregatedSet 高级 API自 v0.9.0 起随 LWS 一并发布加--set enableDisaggregatedSettrue可同时安装其 Webhook 与角色权限。对实现细节感兴趣的读者可以深入源码API 类型定义在api/leaderworkerset/v1/leaderworkerset_types.go控制器核心逻辑在pkg/controllers/leaderworkerset_controller.goPod 注入逻辑在pkg/webhooks/pod_webhook.go。至此你已经掌握了 LeaderWorkerSet 安装的完整流程环境检查 → kubectl 或 Helm 安装 → 示例验证 → 按需卸载与进阶配置。接下来就可以放心地把多机推理工作负载迁移到 LWS 上了 【免费下载链接】lwsLeaderWorkerSet: An API for deploying a group of pods as a unit of replication项目地址: https://gitcode.com/gh_mirrors/lws2/lws创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表