Install
# To install a released version of Kueue in your cluster by kubectl
kubectl apply --server-side -f https://github.com/kubernetes-sigs/kueue/releases/download/v0.13.4/manifests.yaml
# Add metrics scraping for prometheus-operator
kubectl apply --server-side -f https://github.com/kubernetes-sigs/kueue/releases/download/v0.13.4/prometheus.yaml
#
kubectl apply --server-side -f https://github.com/kubernetes-sigs/kueue/releases/download/v0.13.4/kueueviz.yaml
Admin

- create namespace
kubectl create namespace my-kueue
- create resource flavor
apiVersion: kueue.x-k8s.io/v1beta1
kind: ResourceFlavor
metadata:
name: "default-flavor"
- create cluster queue
apiVersion: kueue.x-k8s.io/v1beta1
kind: ClusterQueue
metadata:
name: "cluster-queue"
spec:
namespaceSelector: {} # match all.
resourceGroups:
- coveredResources: ["cpu", "memory"]
flavors:
- name: "default-flavor"
resources:
- name: "cpu"
nominalQuota: 128
- name: "memory"
nominalQuota: 512Gi
- create local queue
apiVersion: kueue.x-k8s.io/v1beta1
kind: LocalQueue
metadata:
namespace: "my-kueue"
name: "user-queue"
spec:
clusterQueue: "cluster-queue"
User
submit a job
apiVersion: batch/v1
kind: Job
metadata:
name: my-simple-job
namespace: my-team
labels:
kueue.x-k8s.io/queue-name: dev-local-queue # 指定要使用的 LocalQueue [12]
spec:
suspend: false # 作业最初不暂停
template:
spec:
containers:
- name: dummy-job
image: registry.k8s.io/e2e-test-images/agnhost:2.53
command: ["/bin/sh", "-c", "echo Hello Kueue && sleep 30"] # 一个简单的 sleep 命令
resources:
requests:
cpu: "100m" # 请求 0.1 CPU
memory: "100Mi" # 请求 100 MiB 内存
restartPolicy: Never # 作业完成后不重启