监控待处理工作负载
Alauda Build of Kueue 提供 VisibilityOnDemand 功能用于监控待处理工作负载。工作负载是指运行后会完成的应用。它可以由一个或多个 pod 组成,这些 pod 可以松散耦合或紧密耦合,作为一个整体完成一项任务。工作负载是 Alauda Build of Kueue 中的准入单位。
VisibilityOnDemand 功能为批处理管理员提供了监控集群队列和本地队列中待处理作业流水线的能力,而批处理用户则只能监控本地队列,并帮助用户估计其作业何时会开始运行。
您可以对入站请求和高请求量进行控制,并为查看待处理工作负载提供用户权限。
目录
1. API Priority and Fairness2. 提供用户权限3. 按需监控待处理工作负载3.1. 前提条件3.2. 操作步骤3.2.1. 查看 ClusterQueue 中的待处理工作负载3.2.2. 查看 LocalQueue 中的待处理工作负载1. API Priority and Fairness
Alauda Build of Kueue 使用 Kubernetes API Priority and Fairness (APF) 来帮助管理待处理工作负载。APF 是一种流量控制机制,可让您定义 API 级别的策略,以规范发往 API server 的入站请求。它可以防止 API server 因意外的高请求量而过载,同时保护关键流量不受尽力而为型工作负载的限流影响。
示例
2. 提供用户权限
您可以为 Alauda Build of Kueue 部署中的用户配置基于角色的访问控制(RBAC)对象。这些对象决定了哪些类型的用户可以创建哪些类型的 Alauda Build of Kueue 对象。
您需要为需要访问特定 API 的用户授予权限。
- 如果用户需要访问来自
ClusterQueue资源的待处理工作负载,则需要创建一个引用 ClusterRolekueue-batch-admin-role的 ClusterRoleBinding 资源。 - 如果用户需要访问来自
LocalQueue资源的待处理工作负载,则需要创建一个引用 ClusterRolekueue-batch-user-role的 RoleBinding 资源。
3. 按需监控待处理工作负载
要测试待处理工作负载的监控功能,您必须正确配置 ClusterQueue 和 LocalQueue 资源。完成后,您可以在该 LocalQueue 上创建作业。Kueue 会管理从作业创建的 workload 对象,因此,当提交的作业使 ClusterQueue 达到饱和时,其对应的 workload 就会显示在待处理工作负载列表中。
3.1. 前提条件
- Alauda Container Platform Web CLI 已与您的集群建立通信。
- 您具有集群管理员权限。
以下操作步骤将指导您如何安装并测试工作负载监控。
3.2. 操作步骤
-
运行以下命令创建资源:
-
使用以下作业清单创建文件:
-
运行以下命令创建六个作业:
3.2.1. 查看 ClusterQueue 中的待处理工作负载
要在集群级别查看所有待处理工作负载,管理员可以使用 Alauda Build of Kueue 的 visibility API 中 ClusterQueue 对象可见性端点。该端点会返回当前正在等待该 ClusterQueue 资源准入的所有 workload 列表。
操作步骤
-
要查看
ClusterQueue中的待处理工作负载,请运行以下命令:您应当得到类似如下的结果:
您可以传递以下可选查询参数:
limit <integer>:默认值为 1000。指定应获取的待处理工作负载最大数量。offset <integer>:默认值为 0。指定要获取的第一个待处理工作负载的位置,从 0 开始。 -
要仅查看 1 个待处理工作负载,并从 ClusterQueue 中位置 1 开始,请运行:
3.2.2. 查看 LocalQueue 中的待处理工作负载
要查看某个特定租户在其命名空间内提交的待处理工作负载,用户可以查询 Alauda Build of Kueue 的 visibility API 中 LocalQueue 资源可见性端点。该端点会提供其在该队列中等待的作业有序列表。
操作步骤
-
要查看 LocalQueue 中的待处理工作负载,请运行以下命令:
您应当得到类似如下的结果:
您可以传递以下可选查询参数:
limit <integer>:默认值为 1000。指定应获取的待处理工作负载最大数量。offset <integer>:默认值为 0。指定要获取的第一个待处理工作负载的位置,从 0 开始。 -
要仅查看一个待处理工作负载,并从 LocalQueue 中位置 0 开始,请运行以下命令: