<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>核心概念 on Kueue</title><link>https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/</link><description>Recent content in 核心概念 on Kueue</description><generator>Hugo</generator><language>zh-cn</language><atom:link href="https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/index.xml" rel="self" type="application/rss+xml"/><item><title>资源规格（Resource Flavor）</title><link>https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/resource_flavor/</link><pubDate>Mon, 14 Mar 2022 00:00:00 +0000</pubDate><guid>https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/resource_flavor/</guid><description>&lt;p&gt;集群中的资源通常不是同构的。资源可能在以下方面有所不同：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;价格和可用性（例如，竞价型与按需型虚拟机）&lt;/li&gt;&#10;&lt;li&gt;架构（例如，x86 与 ARM CPU）&lt;/li&gt;&#10;&lt;li&gt;品牌和型号（例如，Radeon 7000、Nvidia A100、T4 GPU）&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;资源规格（ResourceFlavor）是一个表示这些资源差异的对象，并允许你通过标签、污点和容忍度将它们与集群节点关联。&lt;/p&gt;&#10;&#10;&#10;&lt;div class="alert alert-primary" role="alert"&gt;&#10;&lt;h4 class="alert-heading"&gt;注意&lt;/h4&gt;&#10;&#10; 如果你的集群资源是同构的，你可以使用&lt;a href="https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/resource_flavor/#empty-resourceflavor"&gt;空 ResourceFlavor&lt;/a&gt;，而无需为自定义 ResourceFlavor 添加标签。&#10;&#10;&lt;/div&gt;&#10;&#10;&lt;h2 id="resource-flavor-tolerations"&gt;&#10;ResourceFlavor 容忍度实现自动调度&#10;&lt;a href="#resource-flavor-tolerations" class="anchor-link"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="24" height="24" viewBox="0 0 24 24"&gt;&#10; &lt;path d="M0 0h24v24H0z" fill="none"&gt;&lt;/path&gt;&#10; &lt;path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"&gt;&lt;/path&gt;&#10;&lt;/svg&gt;&#10;&lt;/a&gt;&#10;&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;需要 Kubernetes 1.23 或更高版本&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;这种方式适合希望自动将 Pod 调度到合适节点的团队。&#10;但当集群中存在多种专用硬件（如两种不同的 nvidia.com/gpu 资源，即 T4 和 A100 GPU）时，会有一个限制：系统可能无法区分它们，Pod 可能会被调度到任意一种硬件上。&lt;/p&gt;&#10;&lt;p&gt;要将 ResourceFlavor 与集群中某一部分节点关联，可以在 &lt;code&gt;.spec.nodeLabels&lt;/code&gt; 字段中配置能唯一标识这些节点的标签。&#10;如果你使用 &lt;a href="https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler"&gt;cluster autoscaler&lt;/a&gt;（或类似控制器），请确保控制器在添加新节点时会添加这些标签。&lt;/p&gt;&#10;&lt;p&gt;为了保证 &lt;a href="https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/workload/"&gt;Workload&lt;/a&gt; 中的 Pod 运行在 Kueue 选定的 flavor 所关联的节点上，Kueue 会执行以下步骤：&lt;/p&gt;</description></item><item><title>集群队列（ClusterQueue）</title><link>https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/cluster_queue/</link><pubDate>Tue, 14 Mar 2023 00:00:00 +0000</pubDate><guid>https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/cluster_queue/</guid><description>&lt;p&gt;ClusterQueue 是一个集群范围的对象，用于管理一组资源池，如 Pod、CPU、内存和硬件加速器。ClusterQueue 定义了：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;ClusterQueue 管理的&lt;a href="https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/resource_flavor/"&gt;资源规格&lt;/a&gt;的配额，包括使用上限和消耗顺序。&lt;/li&gt;&#10;&lt;li&gt;集群中多个 ClusterQueue 之间的公平共享规则。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;只有&lt;a href="https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/tasks/#batch-administrator"&gt;批处理管理员&lt;/a&gt;才应创建 &lt;code&gt;ClusterQueue&lt;/code&gt; 对象。&lt;/p&gt;&#10;&lt;p&gt;一个示例 ClusterQueue 如下所示：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;apiVersion&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;kueue.x-k8s.io/v1beta2&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;kind&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;ClusterQueue&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;metadata&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;cluster-queue&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;spec&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;namespaceSelector&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;{}&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 匹配所有命名空间。&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;resourceGroups&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;coveredResources&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;cpu&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;memory&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;pods&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;flavors&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;default-flavor&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;resources&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;cpu&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;nominalQuota&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;9&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;memory&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;nominalQuota&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;36Gi&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;pods&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;nominalQuota&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;5&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;只有在以下条件全部满足时，该 ClusterQueue 才会接纳&lt;a href="https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/workload/"&gt;工作负载&lt;/a&gt;：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;CPU 请求总和小于等于 9。&lt;/li&gt;&#10;&lt;li&gt;内存请求总和小于等于 36Gi。&lt;/li&gt;&#10;&lt;li&gt;Pod 总数小于等于 5。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;您可以将配额指定为&lt;a href="https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/"&gt;数量&lt;/a&gt;。&lt;/p&gt;</description></item><item><title>Cohort</title><link>https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/cohort/</link><pubDate>Wed, 16 Apr 2025 00:00:00 +0000</pubDate><guid>https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/cohort/</guid><description>&lt;h2 id="你好cohort"&gt;&#10;你好，Cohort&#10;&lt;a href="#%e4%bd%a0%e5%a5%bdcohort" class="anchor-link"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="24" height="24" viewBox="0 0 24 24"&gt;&#10; &lt;path d="M0 0h24v24H0z" fill="none"&gt;&lt;/path&gt;&#10; &lt;path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"&gt;&lt;/path&gt;&#10;&lt;/svg&gt;&#10;&lt;/a&gt;&#10;&lt;/h2&gt;&#10;&lt;p&gt;Cohort 使你能够组织你的配额。同一个 Cohort（或对于&lt;a href="https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/cohort/#hierarchical-cohorts"&gt;分层 Cohort&lt;/a&gt;&#10;来说是同一个 CohortTree）中的 ClusterQueue 可以相互共享资源。&#10;最简单的 Cohort 如下：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;apiVersion&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;kueue.x-k8s.io/v1beta2&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;kind&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Cohort&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;metadata&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;hello-cohort&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ClusterQueue 可以通过引用来加入此 Cohort：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;apiVersion&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;kueue.x-k8s.io/v1beta2&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;kind&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;ClusterQueue&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;metadata&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;my-cluster-queue&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;spec&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;cohortName&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;hello-cohort&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="配置配额"&gt;&#10;配置配额&#10;&lt;a href="#%e9%85%8d%e7%bd%ae%e9%85%8d%e9%a2%9d" class="anchor-link"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="24" height="24" viewBox="0 0 24 24"&gt;&#10; &lt;path d="M0 0h24v24H0z" fill="none"&gt;&lt;/path&gt;&#10; &lt;path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"&gt;&lt;/path&gt;&#10;&lt;/svg&gt;&#10;&lt;/a&gt;&#10;&lt;/h2&gt;&#10;&lt;p&gt;资源配额可以在 Cohort 级别定义（类似于为&#10;&lt;a href="https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/cluster_queue/#flavors-and-resources"&gt;ClusterQueue&lt;/a&gt;&#10;定义的方式），并由 Cohort 内的 ClusterQueue 来消耗使用。请注意，&#10;在 Cohort 级别定义的 &lt;code&gt;nominalQuota&lt;/code&gt; 表示除了 Cohort 内 ClusterQueue&#10;所定义的资源之外的&lt;strong&gt;额外资源&lt;/strong&gt;。Cohort 的 &lt;code&gt;nominalQuota&lt;/code&gt; 可以被视为其内&#10;ClusterQueue 的共享池。此外，此配额也可能根据 LendingLimit 借给父 Cohort。&lt;/p&gt;</description></item><item><title>弹性工作负载</title><link>https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/elastic_workload/</link><pubDate>Wed, 16 Apr 2025 00:00:00 +0000</pubDate><guid>https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/elastic_workload/</guid><description>&lt;div class="feature-state-notice feature-alpha"&gt;&#10; &lt;span class="feature-state-name"&gt;Feature state&lt;/span&gt; alpha since Kueue v0.13&#10;&lt;/div&gt;&#10;&#10;&#10;&lt;h2 id="弹性工作负载工作负载切片"&gt;&#10;弹性工作负载（工作负载切片）&#10;&lt;a href="#%e5%bc%b9%e6%80%a7%e5%b7%a5%e4%bd%9c%e8%b4%9f%e8%bd%bd%e5%b7%a5%e4%bd%9c%e8%b4%9f%e8%bd%bd%e5%88%87%e7%89%87" class="anchor-link"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="24" height="24" viewBox="0 0 24 24"&gt;&#10; &lt;path d="M0 0h24v24H0z" fill="none"&gt;&lt;/path&gt;&#10; &lt;path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"&gt;&lt;/path&gt;&#10;&lt;/svg&gt;&#10;&lt;/a&gt;&#10;&lt;/h2&gt;&#10;&lt;p&gt;弹性工作负载扩展了 Kueue 中核心的 &lt;code&gt;Workload&lt;/code&gt; 抽象，以支持已接受 Job 的&lt;strong&gt;动态扩缩&lt;/strong&gt;，&#10;无需暂停或重新排队。这是通过使用&lt;strong&gt;工作负载切片&lt;/strong&gt;实现的，工作负载切片跟踪父 Job 扩缩操作的部分分配。&lt;/p&gt;&#10;&lt;p&gt;此特性使得能够更响应和高效地调度适应集群容量变化的 Job，特别是在工作负载波动或资源受限的环境中。&lt;/p&gt;&#10;&lt;h2 id="动态扩缩"&gt;&#10;动态扩缩&#10;&lt;a href="#%e5%8a%a8%e6%80%81%e6%89%a9%e7%bc%a9" class="anchor-link"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="24" height="24" viewBox="0 0 24 24"&gt;&#10; &lt;path d="M0 0h24v24H0z" fill="none"&gt;&lt;/path&gt;&#10; &lt;path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"&gt;&lt;/path&gt;&#10;&lt;/svg&gt;&#10;&lt;/a&gt;&#10;&lt;/h2&gt;&#10;&lt;p&gt;传统上，Kueue 中的 &lt;code&gt;Workload&lt;/code&gt; 表示单一原子性的准入单元。&#10;一旦被接纳，它反映了一组固定的 Pod 副本并消耗定义的配额。&#10;如果 Job 需要扩缩，&lt;code&gt;Workload&lt;/code&gt; 必须被暂停、移除或完全替换。&lt;/p&gt;</description></item><item><title>本地队列（Local Queue）</title><link>https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/local_queue/</link><pubDate>Mon, 14 Mar 2022 00:00:00 +0000</pubDate><guid>https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/local_queue/</guid><description>&lt;p&gt;&lt;code&gt;LocalQueue&lt;/code&gt; 是一个命名空间对象，用于将属于单个命名空间的紧密相关的工作负载进行分组。&#10;一个命名空间通常分配给组织的一个租户（团队或用户）。&#10;&lt;code&gt;LocalQueue&lt;/code&gt; 指向一个 &lt;a href="https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/cluster_queue"&gt;&lt;code&gt;ClusterQueue&lt;/code&gt;&lt;/a&gt;，&#10;并从中分配资源以运行其工作负载。&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;LocalQueue&lt;/code&gt; 定义如下所示：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;apiVersion&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;kueue.x-k8s.io/v1beta2&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;kind&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;LocalQueue&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;metadata&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;namespace&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;team-a &lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;team-a-queue&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;spec&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;clusterQueue&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;cluster-queue &lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;用户将作业（Job）提交到 &lt;code&gt;LocalQueue&lt;/code&gt;，而不是直接提交到 &lt;code&gt;ClusterQueue&lt;/code&gt;。&#10;租户可以通过列出其命名空间中的本地队列来发现他们可以向哪些队列提交作业。&#10;该命令类似于以下内容：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kubectl get -n my-namespace localqueues&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 或者，使用别名 `queue` 或 `queues`&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kubectl get -n my-namespace queues&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;queue&lt;/code&gt; 和 &lt;code&gt;queues&lt;/code&gt; 是 &lt;code&gt;localqueue&lt;/code&gt; 的别名。&lt;/p&gt;&#10;&lt;h2 id="下一步是什么"&gt;&#10;下一步是什么？&#10;&lt;a href="#%e4%b8%8b%e4%b8%80%e6%ad%a5%e6%98%af%e4%bb%80%e4%b9%88" class="anchor-link"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="24" height="24" viewBox="0 0 24 24"&gt;&#10; &lt;path d="M0 0h24v24H0z" fill="none"&gt;&lt;/path&gt;&#10; &lt;path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"&gt;&lt;/path&gt;&#10;&lt;/svg&gt;&#10;&lt;/a&gt;&#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;通过本地队列启动&lt;a href="https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/workload"&gt;工作负载&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;阅读 &lt;code&gt;LocalQueue&lt;/code&gt; 的 &lt;a href="https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/reference/kueue.v1beta2/#kueue-x-k8s-io-v1beta2-LocalQueue"&gt;API 参考&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>工作负载(Workload)</title><link>https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/workload/</link><pubDate>Mon, 14 Feb 2022 00:00:00 +0000</pubDate><guid>https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/workload/</guid><description>&lt;p&gt;&lt;em&gt;工作负载(Workload)&lt;/em&gt; 是将运行至完成的应用程序。它可以由一个或多个 Pod 组成，&#10;这些 Pod 松散或紧密耦合，作为一个整体完成任务。工作负载是 Kueue 中的&#10;&lt;a href="https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/#admission"&gt;准入(admission)&lt;/a&gt;单位。&lt;/p&gt;&#10;&lt;p&gt;典型的工作负载可以用&#10;&lt;a href="https://kubernetes.io/docs/concepts/workloads/controllers/job/"&gt;Kubernetes &lt;code&gt;batch/v1.Job&lt;/code&gt;&lt;/a&gt;&#10;来表示。因此，我们有时使用_作业(job)_一词来指代任何工作负载，而 Job 则专门指&#10;Kubernetes API。&lt;/p&gt;&#10;&lt;p&gt;但是，Kueue 不直接操作 Job 对象。相反，Kueue 管理代表任意工作负载资源需求的&#10;Workload 对象。Kueue 自动为每个 Job 对象创建一个 Workload，并同步决策和状态。&lt;/p&gt;&#10;&lt;p&gt;当工作负载所在的 ClusterQueue 启用&lt;a href="https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/concurrent_admission/"&gt;并发准入&lt;/a&gt;时，&#10;Kueue 可以用一个 Parent Workload 和多个 Variant Workload 表示同一个作业。Parent Workload 聚合作业集成所需的&#10;准入状态，每个 Variant 都是一次内部准入尝试，并被限制到一个 ResourceFlavor。&lt;/p&gt;&#10;&lt;p&gt;Workload 的清单如下所示：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;apiVersion&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;kueue.x-k8s.io/v1beta2&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;kind&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Workload&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;metadata&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;sample-job&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;namespace&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;team-a&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;spec&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;active&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;queueName&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;team-a-queue&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;podSets&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;count&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;3&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;main&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;template&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;spec&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;containers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;container&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;registry.k8s.io/e2e-test-images/agnhost:latest&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;args&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;pause&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;imagePullPolicy&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Always&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;resources&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;cpu&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;1&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;memory&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;200Mi&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;restartPolicy&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Never&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="active"&gt;&#10;活跃状态&#10;&lt;a href="#active" class="anchor-link"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="24" height="24" viewBox="0 0 24 24"&gt;&#10; &lt;path d="M0 0h24v24H0z" fill="none"&gt;&lt;/path&gt;&#10; &lt;path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"&gt;&lt;/path&gt;&#10;&lt;/svg&gt;&#10;&lt;/a&gt;&#10;&lt;/h2&gt;&#10;&lt;p&gt;您可以通过设置 &lt;a href="https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/reference/kueue.v1beta2#kueue-x-k8s-io-v1beta2-WorkloadSpec"&gt;Active&lt;/a&gt;&#10;字段来停止或恢复正在运行的工作负载。active 字段决定工作负载是否可以被准入到队列中&#10;或继续运行（如果已经被准入）。&#10;将 &lt;code&gt;.spec.Active&lt;/code&gt; 从 true 更改为 false 将导致正在运行的工作负载被驱逐且不会&#10;重新排队。&lt;/p&gt;</description></item><item><title>Topology</title><link>https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/topology/</link><pubDate>Thu, 29 Jan 2026 00:00:00 +0000</pubDate><guid>https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/topology/</guid><description>&lt;p&gt;&lt;code&gt;Topology&lt;/code&gt; 是一个集群范围的对象，定义了数据中心内节点的层次结构。&#10;它通过提供一种使用节点标签表示组织单元（如区域、块和机架）层次结构的模型，&#10;启用了&lt;a href="https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/topology_aware_scheduling/"&gt;拓扑感知调度&lt;/a&gt;。&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;Topology&lt;/code&gt; 对象通过 &lt;a href="https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/resource_flavor/"&gt;ResourceFlavor&lt;/a&gt;&#10;中的 &lt;code&gt;.spec.topologyName&lt;/code&gt; 字段引用，以将规约与特定的拓扑结构关联。&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;Topology&lt;/code&gt; 定义如下所示：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;apiVersion&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;kueue.x-k8s.io/v1beta2&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;kind&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Topology&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;metadata&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;default&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;spec&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;levels&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;nodeLabel&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;topology.kubernetes.io/zone&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;nodeLabel&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;cloud.provider.com/topology-block&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;nodeLabel&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;cloud.provider.com/topology-rack&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;nodeLabel&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;kubernetes.io/hostname&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="topology-层级"&gt;&#10;Topology 层级&#10;&lt;a href="#topology-%e5%b1%82%e7%ba%a7" class="anchor-link"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="24" height="24" viewBox="0 0 24 24"&gt;&#10; &lt;path d="M0 0h24v24H0z" fill="none"&gt;&lt;/path&gt;&#10; &lt;path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"&gt;&lt;/path&gt;&#10;&lt;/svg&gt;&#10;&lt;/a&gt;&#10;&lt;/h2&gt;&#10;&lt;p&gt;&lt;code&gt;.spec.levels&lt;/code&gt; 字段定义了拓扑层级的层次结构，从最高（最粗略）级别到最低（最细致）级别排序。&#10;每个层级由一个节点标签标识，你的集群中的节点必须拥有这个标签。&lt;/p&gt;&#10;&lt;p&gt;例如，在典型的数据中心中：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;区域层级&lt;/strong&gt;：区域或可用区，由类似 &lt;code&gt;topology.kubernetes.io/zone&lt;/code&gt; 的标签标识&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;块层级&lt;/strong&gt;：机架组，由类似 &lt;code&gt;cloud.provider.com/topology-block&lt;/code&gt; 的标签标识&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;机架层级&lt;/strong&gt;：块内的单独机架，由类似 &lt;code&gt;cloud.provider.com/topology-rack&lt;/code&gt; 的标签标识&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;节点层级&lt;/strong&gt;：单独节点，通常由 &lt;code&gt;kubernetes.io/hostname&lt;/code&gt; 标识&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;在同一拓扑域（例如，相同的机架）内运行的 Pod 相比不同域的 Pod 具有更好的网络带宽。&lt;/p&gt;</description></item><item><title>公平共享（Fair Sharing）</title><link>https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/fair_sharing/</link><pubDate>Wed, 28 May 2025 00:00:00 +0000</pubDate><guid>https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/fair_sharing/</guid><description>&lt;h3 id="准入公平共享"&gt;&#10;&lt;a href="https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/admission_fair_sharing"&gt;准入公平共享&lt;/a&gt;&#10;&lt;a href="#%e5%87%86%e5%85%a5%e5%85%ac%e5%b9%b3%e5%85%b1%e4%ba%ab" class="anchor-link"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="24" height="24" viewBox="0 0 24 24"&gt;&#10; &lt;path d="M0 0h24v24H0z" fill="none"&gt;&lt;/path&gt;&#10; &lt;path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"&gt;&lt;/path&gt;&#10;&lt;/svg&gt;&#10;&lt;/a&gt;&#10;&lt;/h3&gt;&#10;&lt;p&gt;一种根据源 LocalQueue 的历史资源使用情况对工作负载进行排序的机制，&#10;优先考虑那些随着时间的推移消耗较少资源的工作负载。&lt;/p&gt;&#10;&lt;h3 id="基于抢占的公平共享"&gt;&#10;&lt;a href="https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/preemption/#fair-sharing"&gt;基于抢占的公平共享&lt;/a&gt;&#10;&lt;a href="#%e5%9f%ba%e4%ba%8e%e6%8a%a2%e5%8d%a0%e7%9a%84%e5%85%ac%e5%b9%b3%e5%85%b1%e4%ba%ab" class="anchor-link"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="24" height="24" viewBox="0 0 24 24"&gt;&#10; &lt;path d="M0 0h24v24H0z" fill="none"&gt;&lt;/path&gt;&#10; &lt;path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"&gt;&lt;/path&gt;&#10;&lt;/svg&gt;&#10;&lt;/a&gt;&#10;&lt;/h3&gt;</description></item><item><title>准入公平分共享（Admission Fair Sharing）</title><link>https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/admission_fair_sharing/</link><pubDate>Wed, 28 May 2025 00:00:00 +0000</pubDate><guid>https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/admission_fair_sharing/</guid><description>&lt;div class="feature-state-notice feature-alpha"&gt;&#10; &lt;span class="feature-state-name"&gt;Feature state&lt;/span&gt; alpha since Kueue v0.12&#10;&lt;/div&gt;&#10;&#10;&#10;&#10;&#10;&lt;div class="alert alert-primary" role="alert"&gt;&#10;&lt;h4 class="alert-heading"&gt;注意&lt;/h4&gt;&#10;&#10; &lt;p&gt;&lt;code&gt;AdmissionFairSharing&lt;/code&gt; 目前是一个 Alpha 特性，默认未启用。&lt;/p&gt;&#10;&lt;p&gt;您可以通过编辑 &lt;code&gt;AdmissionFairSharing&lt;/code&gt; 特性门控来启用它。有关特性门控配置的详细信息，&#10;请查阅 &lt;a href="https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/installation/#change-the-feature-gates-configuration"&gt;安装指南&lt;/a&gt;。&lt;/p&gt;&#10;&#10;&#10;&lt;/div&gt;&#10;&#10;&lt;h1 id="admission-fair-sharing"&gt;&#10;准入公平共享（Admission Fair Sharing）&#10;&lt;a href="#admission-fair-sharing" class="anchor-link"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="24" height="24" viewBox="0 0 24 24"&gt;&#10; &lt;path d="M0 0h24v24H0z" fill="none"&gt;&lt;/path&gt;&#10; &lt;path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"&gt;&lt;/path&gt;&#10;&lt;/svg&gt;&#10;&lt;/a&gt;&#10;&lt;/h1&gt;&#10;&lt;p&gt;准入公平共享有助于在多个指向同一 ClusterQueue 的 LocalQueue 之间公平分配资源。&#10;它会根据各自 LocalQueue 的历史资源使用情况对工作负载进行排序，&#10;优先考虑那些随着时间推移消耗资源较少的工作负载。&lt;/p&gt;&#10;&lt;h2 id="工作原理"&gt;&#10;工作原理&#10;&lt;a href="#%e5%b7%a5%e4%bd%9c%e5%8e%9f%e7%90%86" class="anchor-link"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="24" height="24" viewBox="0 0 24 24"&gt;&#10; &lt;path d="M0 0h24v24H0z" fill="none"&gt;&lt;/path&gt;&#10; &lt;path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"&gt;&lt;/path&gt;&#10;&lt;/svg&gt;&#10;&lt;/a&gt;&#10;&lt;/h2&gt;&#10;&lt;p&gt;当多个工作负载在同一个 ClusterQueue 中竞争资源时：&lt;/p&gt;</description></item><item><title>拓扑感知调度</title><link>https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/topology_aware_scheduling/</link><pubDate>Thu, 11 Apr 2024 00:00:00 +0000</pubDate><guid>https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/topology_aware_scheduling/</guid><description>&lt;div class="feature-state-notice feature-alpha"&gt;&#10; &lt;span class="feature-state-name"&gt;Feature state&lt;/span&gt; alpha since Kueue v0.9&#10;&lt;/div&gt;&#10;&#10;&#10;&lt;p&gt;AI/ML 工作负载通常需要大量的 Pod 间通信。因此，运行 Pod&#10;之间的网络带宽会直接影响工作负载的执行时间和运行成本。&#10;Pod 之间的可用带宽取决于运行这些 Pod 的节点在数据中心中的分布。&lt;/p&gt;&#10;&lt;p&gt;我们观察到，数据中心的组织单元具有层次结构，如机架（rack）和区块（block），一个机架内有多个节点，&#10;一个区块内有多个机架。运行在同一组织单元内的 Pod 之间的网络带宽优于运行在不同单元的 Pod。&#10;我们认为，不同机架上的节点比同一机架内的节点距离更远。同理，不同区块的节点比同一区块内的节点距离更远。&lt;/p&gt;&#10;&lt;p&gt;本特性（称为拓扑感知调度，简称 TAS）引入了一种约定，用于表示&lt;a href="https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/topology_aware_scheduling/#node-topology-information"&gt;分层节点拓扑信息&lt;/a&gt;，&#10;并为 Kueue 管理员和用户提供一组 API，以利用这些信息优化 Pod 的放置。&lt;/p&gt;&#10;&lt;h3 id="node-topology-information"&gt;&#10;节点拓扑信息&#10;&lt;a href="#node-topology-information" class="anchor-link"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="24" height="24" viewBox="0 0 24 24"&gt;&#10; &lt;path d="M0 0h24v24H0z" fill="none"&gt;&lt;/path&gt;&#10; &lt;path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"&gt;&lt;/path&gt;&#10;&lt;/svg&gt;&#10;&lt;/a&gt;&#10;&lt;/h3&gt;&#10;&lt;p&gt;我们提出了一种轻量级模型，通过节点标签来表示数据中心内节点的层次结构。在该模型中，节点标签由云服务商设置，或由本地集群管理员手动设置。&lt;/p&gt;&#10;&lt;p&gt;此外，我们假设用于 TAS 的每个节点都带有一组标签，这些标签能唯一标识其在树状结构中的位置。&#10;我们不要求每一层标签全局唯一，即可能存在两个节点具有相同的 &amp;ldquo;rack&amp;rdquo; 标签，但位于不同的 &amp;ldquo;block&amp;rdquo;。&lt;/p&gt;&#10;&lt;p&gt;例如，数据中心层次结构的表示如下：&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: center"&gt;节点&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: center"&gt;cloud.provider.com/topology-block&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: center"&gt;cloud.provider.com/topology-rack&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: center"&gt;node-1&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: center"&gt;block-1&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: center"&gt;rack-1&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: center"&gt;node-2&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: center"&gt;block-1&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: center"&gt;rack-2&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: center"&gt;node-3&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: center"&gt;block-2&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: center"&gt;rack-1&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: center"&gt;node-4&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: center"&gt;block-2&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: center"&gt;rack-3&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;注意，node-1 和 node-3 虽然 &amp;ldquo;cloud.provider.com/topology-rack&amp;rdquo; 标签值相同，但位于不同的 block。&lt;/p&gt;</description></item><item><title>Workload 优先级类</title><link>https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/workload_priority_class/</link><pubDate>Mon, 02 Oct 2023 00:00:00 +0000</pubDate><guid>https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/workload_priority_class/</guid><description>&lt;p&gt;&lt;code&gt;WorkloadPriorityClass&lt;/code&gt; 允许你控制 &lt;a href="https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/workload/"&gt;&lt;code&gt;Workload&lt;/code&gt;&lt;/a&gt; 的优先级，而不会影响 Pod 的优先级。&#10;此功能适用于以下场景：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;希望优先调度那些长时间处于非活跃状态的工作负载&lt;/li&gt;&#10;&lt;li&gt;希望为开发环境工作负载设置较低优先级，为生产环境工作负载设置较高优先级&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;一个示例 WorkloadPriorityClass 如下所示：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;apiVersion&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;kueue.x-k8s.io/v1beta2&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;kind&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;WorkloadPriorityClass&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;metadata&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;sample-priority&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;value&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;10000&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;description&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;示例优先级&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;WorkloadPriorityClass&lt;/code&gt; 对象是集群范围的，因此可以被任何命名空间下的作业使用。&lt;/p&gt;&#10;&lt;h2 id="如何在-job-上使用-workloadpriorityclass"&gt;&#10;如何在 Job 上使用 WorkloadPriorityClass&#10;&lt;a href="#%e5%a6%82%e4%bd%95%e5%9c%a8-job-%e4%b8%8a%e4%bd%bf%e7%94%a8-workloadpriorityclass" class="anchor-link"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="24" height="24" viewBox="0 0 24 24"&gt;&#10; &lt;path d="M0 0h24v24H0z" fill="none"&gt;&lt;/path&gt;&#10; &lt;path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"&gt;&lt;/path&gt;&#10;&lt;/svg&gt;&#10;&lt;/a&gt;&#10;&lt;/h2&gt;&#10;&lt;p&gt;你可以通过设置标签 &lt;code&gt;kueue.x-k8s.io/priority-class&lt;/code&gt; 来指定 &lt;code&gt;WorkloadPriorityClass&lt;/code&gt;。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;apiVersion&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;batch/v1&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;kind&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Job&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;metadata&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;sample-job&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;labels&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;kueue.x-k8s.io/queue-name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;user-queue&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;kueue.x-k8s.io/priority-class&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;sample-priority&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;spec&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;...&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Kueue 会为上述 Job 生成如下 &lt;code&gt;Workload&lt;/code&gt;。&#10;&lt;code&gt;PriorityClassName&lt;/code&gt; 字段可以接受 &lt;code&gt;PriorityClass&lt;/code&gt; 或 &lt;code&gt;WorkloadPriorityClass&lt;/code&gt; 的名称。&#10;为区分两者，当使用 &lt;code&gt;WorkloadPriorityClass&lt;/code&gt; 时，&lt;code&gt;priorityClassSource&lt;/code&gt; 字段为&#10;&lt;code&gt;kueue.x-k8s.io/workloadpriorityclass&lt;/code&gt;；当使用 &lt;code&gt;PriorityClass&lt;/code&gt; 时，&lt;code&gt;priorityClassSource&lt;/code&gt;&#10;字段为 &lt;code&gt;scheduling.k8s.io/priorityclass&lt;/code&gt;。&lt;/p&gt;</description></item><item><title>抢占（Preemption）</title><link>https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/preemption/</link><pubDate>Tue, 28 May 2024 00:00:00 +0000</pubDate><guid>https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/preemption/</guid><description>&lt;p&gt;在抢占过程中，以下术语相关：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;被抢占者（Preemptees）&lt;/strong&gt;：被抢占的 Workload。&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;目标 ClusterQueue&lt;/strong&gt;：被抢占者所属的 ClusterQueue。&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;抢占者（Preemptor）&lt;/strong&gt;：需要被容纳的 Workload。&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;抢占 ClusterQueue&lt;/strong&gt;：抢占者所属的 ClusterQueue。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="抢占的原因"&gt;&#10;抢占的原因&#10;&lt;a href="#%e6%8a%a2%e5%8d%a0%e7%9a%84%e5%8e%9f%e5%9b%a0" class="anchor-link"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="24" height="24" viewBox="0 0 24 24"&gt;&#10; &lt;path d="M0 0h24v24H0z" fill="none"&gt;&lt;/path&gt;&#10; &lt;path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"&gt;&lt;/path&gt;&#10;&lt;/svg&gt;&#10;&lt;/a&gt;&#10;&lt;/h2&gt;&#10;&lt;p&gt;如果 Workload 被准入到&lt;a href="https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/cluster_queue/#preemption"&gt;启用了抢占的 ClusterQueue&lt;/a&gt;，并且发生以下任一事件，则该 Workload 可以抢占一个或多个 Workload：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;被抢占者与抢占者属于同一个 &lt;a href="https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/cluster_queue/"&gt;ClusterQueue&lt;/a&gt;，且被抢占者的优先级较低。&lt;/li&gt;&#10;&lt;li&gt;被抢占者与抢占者属于同一个 &lt;a href="https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/cluster_queue/#cohort"&gt;cohort&lt;/a&gt;，且被抢占者的 ClusterQueue 至少有一种资源的使用量高于&lt;a href="https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/cluster_queue/#resources"&gt;名义配额&lt;/a&gt;，而该资源是被抢占者和抢占者都需要的。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;在 &lt;a href="https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/reference/kueue-config.v1beta2#FairSharing"&gt;Kueue 配置&lt;/a&gt; 和 &lt;a href="https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/cluster_queue/#preemption"&gt;ClusterQueue&lt;/a&gt; 中配置的抢占设置，除了上述标准外，还可以限制 Workload 是否可以抢占其他 Workload。&lt;/p&gt;&#10;&lt;p&gt;当抢占 Workload 时，Kueue 会在被抢占 Workload 的 &lt;code&gt;.status.conditions&lt;/code&gt; 字段中添加类似如下的条目：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;status&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;lastTransitionTime&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;2025-03-07T21:19:54Z&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;message&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;&amp;#39;为容纳另一个 workload（UID&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;5c023c28-8533-4927-b266-56bca5e310c1，JobUID&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;4548c8bd-c399-4027-bb02-6114f3a8cdeb）而被抢占，原因是 ClusterQueue 中的优先级调整&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;observedGeneration&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;reason&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Preempted&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;status&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;True&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Evicted&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;lastTransitionTime&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;2025-03-07T21:19:54Z&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;message&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;&amp;#39;为容纳另一个 workload（UID&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;5c023c28-8533-4927-b266-56bca5e310c1，JobUID&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;4548c8bd-c399-4027-bb02-6114f3a8cdeb）而被抢占，原因是 ClusterQueue 中的优先级调整&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;reason&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;InClusterQueue&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;status&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;True&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Preempted&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;Evicted&lt;/code&gt; 条件表示该 Workload 因 &lt;code&gt;Preempted&lt;/code&gt; 原因被驱逐，而 &lt;code&gt;Preempted&lt;/code&gt; 条件则给出了更多关于抢占原因的细节。&lt;/p&gt;</description></item><item><title>并发准入（Concurrent Admission）</title><link>https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/concurrent_admission/</link><pubDate>Tue, 05 May 2026 00:00:00 +0000</pubDate><guid>https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/concurrent_admission/</guid><description>&lt;div class="feature-state-notice feature-alpha"&gt;&#10; &lt;span class="feature-state-name"&gt;Feature state&lt;/span&gt; alpha since Kueue v0.18&#10;&lt;/div&gt;&#10;&#10;&#10;&lt;p&gt;并发准入（Concurrent Admission）允许 Kueue 为同一个&lt;a href="https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/workload/"&gt;工作负载&lt;/a&gt;&#10;保留多个准入尝试，每个准入尝试都被限制到不同的&#10;&lt;a href="https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/resource_flavor/"&gt;ResourceFlavor&lt;/a&gt;。这样，工作负载可以先在已准入的规格上启动，&#10;同时 Kueue 继续尝试更优先的规格。&lt;/p&gt;&#10;&lt;p&gt;并发准入包含两个主要组件：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;事件驱动迁移：&lt;/strong&gt; 当更优先的 ResourceFlavor 可用时，Kueue 可以将正在运行的&#10;Workload 迁移到该规格。&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;并发多规格尝试：&lt;/strong&gt; 一个 Workload 可以同时独立尝试多个 ResourceFlavor。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Kueue 通过为原始 Workload 创建 Variant 来实现此功能。原始 Workload 称为 Parent Workload。&#10;每个 Variant 都是 Parent Workload 的副本，并被分配到特定的 ResourceFlavor，因此这些 Variant 可以在各自的规格上并发且独立地尝试调度。&#10;ClusterQueue 的资源组中 ResourceFlavor 的顺序决定规格偏好，列表中的第一个规格优先级最高。&lt;/p&gt;&#10;&lt;p&gt;当工作负载可以接受中断，并且你希望用额外调度开销换取更快放置、并发准入检查，&#10;或迁移到更优先规格时，可以使用并发准入。例如，将工作负载迁移到预留资源规格。&lt;/p&gt;&#10;&lt;h2 id="flavor-preference-and-migration"&gt;&#10;规格偏好和迁移&#10;&lt;a href="#flavor-preference-and-migration" class="anchor-link"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="24" height="24" viewBox="0 0 24 24"&gt;&#10; &lt;path d="M0 0h24v24H0z" fill="none"&gt;&lt;/path&gt;&#10; &lt;path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"&gt;&lt;/path&gt;&#10;&lt;/svg&gt;&#10;&lt;/a&gt;&#10;&lt;/h2&gt;&#10;&lt;p&gt;当前唯一支持的迁移模式是 &lt;code&gt;TryPreferredFlavors&lt;/code&gt;。在该模式下，如果 Workload&#10;先在较低优先级的规格上启动，Kueue 会继续尝试更高优先级规格对应的 Variant。&#10;如果之后某个更高优先级规格对应的 Variant 被准入，Kueue 会将 Workload 迁移到该规格。&lt;/p&gt;</description></item><item><title>MultiKueue</title><link>https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/multikueue/</link><pubDate>Mon, 11 Nov 2024 00:00:00 +0000</pubDate><guid>https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/concepts/multikueue/</guid><description>&lt;div class="feature-state-notice feature-beta"&gt;&#10; &lt;span class="feature-state-name"&gt;Feature state&lt;/span&gt; beta since Kueue v0.9&#10;&lt;/div&gt;&#10;&#10;&#10;&#10;&#10;&lt;div class="alert alert-primary" role="alert"&gt;&#10;&lt;h4 class="alert-heading"&gt;Note&lt;/h4&gt;&#10;&#10; &lt;p&gt;&lt;code&gt;MultiKueue&lt;/code&gt; 目前是一个 Beta 特性，默认启用。&lt;/p&gt;&#10;&lt;p&gt;你可以通过编辑 &lt;code&gt;MultiKueue&lt;/code&gt; &lt;strong&gt;特性门控&lt;/strong&gt;来禁用它。关于特性门控配置的详情，&#10;请参阅&lt;a href="https://kueue.sigs.k8s.io/zh-cn/v0.20/docs/installation/#change-the-feature-gates-configuration"&gt;安装指南&lt;/a&gt;。&lt;/p&gt;&#10;&#10;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;MultiKueue 设置由一个管理集群和至少一个工作集群组成。&lt;/p&gt;&#10;&lt;h2 id="集群角色"&gt;&#10;集群角色&#10;&lt;a href="#%e9%9b%86%e7%be%a4%e8%a7%92%e8%89%b2" class="anchor-link"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="24" height="24" viewBox="0 0 24 24"&gt;&#10; &lt;path d="M0 0h24v24H0z" fill="none"&gt;&lt;/path&gt;&#10; &lt;path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"&gt;&lt;/path&gt;&#10;&lt;/svg&gt;&#10;&lt;/a&gt;&#10;&lt;/h2&gt;&#10;&lt;h3 id="管理集群"&gt;&#10;管理集群&#10;&lt;a href="#%e7%ae%a1%e7%90%86%e9%9b%86%e7%be%a4" class="anchor-link"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="24" height="24" viewBox="0 0 24 24"&gt;&#10; &lt;path d="M0 0h24v24H0z" fill="none"&gt;&lt;/path&gt;&#10; &lt;path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"&gt;&lt;/path&gt;&#10;&lt;/svg&gt;&#10;&lt;/a&gt;&#10;&lt;/h3&gt;&#10;&lt;p&gt;管理者的首要职责包括：&lt;/p&gt;</description></item></channel></rss>