运行 StatefulSet
将 StatefulSet 作为 Kueue 管理的工作负载运行。
本页面展示了如何利用 Kueue 的调度和服务资源管理能力来运行 StatefulSet。
我们演示了如何支持基于 Plain Pod Group 集成来调度 StatefulSet,其中 StatefulSet 被表示为一个独立的负载。
本指南适用于服务用户他们具有基本的 Kueue 理解。 更多信息,请参见 Kueue 概览。
开始之前
学习如何安装 Kueue 并配置自定义管理器版本。
确保你启用了 v1/statefulset 集成,例如:
apiVersion: config.kueue.x-k8s.io/v1beta1 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.