运行 StatefulSet
将 StatefulSet 作为 Kueue 管理的工作负载运行。
	本页面展示了如何利用 Kueue 的调度和服务资源管理能力来运行 StatefulSet。
我们演示了如何支持基于 Plain Pod Group 集成来调度 StatefulSet,其中 StatefulSet 被表示为一个独立的负载。
本指南适用于服务用户他们具有基本的 Kueue 理解。 更多信息,请参见 Kueue 概览。
开始之前
- 
学习如何安装 Kueue 并配置自定义管理器版本。
 - 
确保你启用了 v1/statefulset 集成,例如:
apiVersion: config.kueue.x-k8s.io/v1beta2 kind: Configuration integrations: frameworks: - "pod" # required by statefulset - "statefulset"同时,请参见运行 Plain Pod 了解如何启用和配置
pod集成。 - 
检查管理集群配额了解初始 Kueue 设置的详细信息。
 
运行被 Kueue 调度的 StatefulSet
在运行 StatefulSet 时,请考虑以下方面:
a. 队列选择
目标本地队列应在 StatefulSet 配置的 metadata.labels 部分指定。
metadata:
   labels:
      kueue.x-k8s.io/queue-name: user-queue
b. 配置资源需求
工作负载的资源需求可以在 spec.template.spec.containers 中配置。
spec:
  template:
     spec:
      containers:
       - resources:
           requests:
             cpu: 3
c. 扩缩
目前,StatefulSet 的扩缩操作不受支持。 这意味着你不能直接通过 Kueue 执行扩缩容操作。
示例
以下是一个 StatefulSet 的示例:
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: nginx-statefulset
  labels:
    app: nginx
    kueue.x-k8s.io/queue-name: user-queue
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
        - name: nginx
          image: registry.k8s.io/nginx-slim:0.27
          ports:
            - containerPort: 80
          resources:
            requests:
              cpu: "100m"
  serviceName: "nginx"
你可以使用以下命令创建 StatefulSet:
kubectl create -f sample-statefulset.yaml
反馈
这个页面有帮助吗?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.