3.3. 使用 Leader Worker Set Operator 管理分布式工作负载
您可以使用 Leader Worker Set Operator 来管理分布式推测工作负载,并有效地处理大规模 inference 请求。
3.3.1. 安装 Leader Worker Set Operator 复制链接链接已复制到粘贴板!
您可以通过 OpenShift Container Platform Web 控制台安装 Leader Worker Set Operator,以开始管理分布式 AI 工作负载。
先决条件
-
您可以使用
cluster-admin权限访问集群。 - 访问 OpenShift Container Platform web 控制台。
- 您已为 Red Hat OpenShift 安装了 cert-manager Operator。
流程
- 登陆到 OpenShift Container Platform Web 控制台。
- 验证是否安装了 Red Hat OpenShift 的 cert-manager Operator。
安装 Leader Worker Set Operator。
-
进入 Operators
OperatorHub。 - 在过滤器框中输入 Leader Worker Set Operator。
- 选择 Leader Worker Set Operator,再单击 Install。
在 Install Operator 页中:
- Update channel 设置为 stable-v1.0,它会安装 Leader Worker Set Operator 1.0 的最新稳定版本。
- 在 Installation mode 下,选择 A specific namespace on the cluster。
- 在 Installed Namespace 下,选择 Operator recommended Namespace: openshift-lws-operator。
在 Update approval 下,选择以下更新策略之一:
- Automatic 策略允许 Operator Lifecycle Manager(OLM)在有新版本可用时自动更新 Operator。
- Manual 策略需要拥有适当凭证的用户批准 Operator 更新。
- 点 Install。
-
进入 Operators
为 Leader Worker Set Operator 创建自定义资源(CR):
-
导航到 Installed Operators
Leader Worker Set Operator。 - 在 Provided APIs 下,点 LeaderWorkerSetOperator 窗格中的 Create instance。
- 点 Create。
-
导航到 Installed Operators
3.3.2. 部署领导 worker 集 复制链接链接已复制到粘贴板!
您可以使用 Leader Worker Set Operator 来部署领导 worker 集,以帮助跨节点管理分布式工作负载。
先决条件
- 已安装 Leader Worker Set Operator。
流程
运行以下命令创建新项目:
oc new-project my-namespace
$ oc new-project my-namespaceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建名为
leader-worker-set.yaml的文件Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中:
metadata.name- 指定领导 worker 设置资源的名称。
metadata.namespace- 指定要在其中运行的 leader worker 的命名空间。
spec.leaderWorkerTemplate.leaderTemplate- 指定领导 pod 的 pod 模板。
spec.leaderWorkerTemplate.restartPolicy-
指定 pod 失败时的重启策略。允许的值是
RecreateGroupOnPodRestart,以重启整个组或None以不重启组。 spec.leaderWorkerTemplate.size-
指定为每个组创建的 pod 数量,包括领导 pod。例如,值
3会创建 1 个领导 pod 和 2 个 worker pod。默认值为1。 spec.leaderWorkerTemplate.workerTemplate- 指定 worker pod 的 pod 模板。
spec.networkConfig.subdomainPolicy-
指定创建无头服务时要使用的策略。允许的值是
UniquePerReplica或Shared。默认值为Shared。 spec.replicas-
指定副本数,或 leader-worker 组。默认值为
1。 spec.rolloutStrategy.rollingUpdateConfiguration.maxSurge-
指定在滚动更新过程中可调度到
replicas值的最大副本数。该值可以指定为整数或百分比。
有关配置所有可用字段的更多信息,请参阅 LeaderWorkerSet API 上游文档。
运行以下命令来应用领导 worker 设置配置:
oc apply -f leader-worker-set.yaml
$ oc apply -f leader-worker-set.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
运行以下命令验证 pod 是否已创建:
oc get pods -n my-namespace
$ oc get pods -n my-namespaceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
my-lws-0是第一个组的领导 pod。 -
my-lws-1是第二个组的领导 pod。
-
运行以下命令查看有状态的集合:
oc get statefulsets
$ oc get statefulsetsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME READY AGE my-lws 4/4 111s my-lws-0 2/2 57s my-lws-1 2/2 60s
NAME READY AGE my-lws 4/4 111s my-lws-0 2/2 57s my-lws-1 2/2 60sCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
my-lws是所有 leader-worker 组的领导有状态集。 -
my-lws-0是第一个组的 worker 有状态集。 -
my-lws-1是第二个组的 worker 有状态集。
-