Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Kueue poskytuje nativní frontu úloh Kubernetes a správu přístupu prostředků pro dávkové úlohy a úlohy AI spuštěné na Azure Kubernetes Service (AKS). Tento článek popisuje dva způsoby instalace Kueue v AKS:
- Rozšíření Kueue spravované službou AKS (Preview): Použijte prostředí rozšíření spravované Azure k nasazení Kueue ve vašem clusteru AKS.
- Open-source Kueue s Helm: Nainstalujte a nakonfigurujte Kueue přímo z upstreamového Helm chartu Kueue.
Po instalaci můžete pomocí rozhraní API Kueue, jako jsou ClusterQueue, LocalQueue a ResourceFlavor, řídit, jak jsou úlohy přijímány k prostředkům clusteru.
Co je Kueue?
Kueue je opensourcový projekt fronty úloh nativní pro Kubernetes navržený ke správě dávkových úloh a zajištění efektivního, spravedlivého a plánování řízeného zásadami v clusterech Kubernetes. Kueue se integruje s ekosystémem plánování Kubernetes, aby koordinovalo přidělování prostředků, stanovení priorit a řízení kapacity pro úlohy. Kueue řídí, jestli jsou workloady připuštěny na základě nakonfigurovaných kvót prostředků a zásad. Po přijetí úlohy plánovač Kubernetes umístí pody úlohy na uzly.
Kueue je užitečný pro úlohy, jako jsou:
- Trénování umělé inteligence a strojového učení
- Úlohy náročné na GPU
- Zpracování dat
- Skenování zranitelností zabezpečení
- Kódování médií a překódování videa
- Generování sestav a finanční analýza
- Další dávkové úlohy, které můžou čekat, až budou k dispozici dostatečné prostředky
Modelujte tyto úlohy pomocí úlohy Kubernetes, CronJob nebo vlastní definice prostředků (CRD), jako je RayJob nebo Kubeflow MPIJob, a přijímejte je podle jejich ClusterQueue a LocalQueue
Jak porozumět frontám Kueue
Před odesláním úloh pomocí Kueue nakonfigurujte fronty, které řídí přijímání úloh.
Kueue používá dva primární prostředky fronty:
-
ClusterQueuedefinuje kvóty prostředků na úrovni clusteru pro sdílené fondy prostředků (například procesor, paměť, kvóty GPU) a zásady, které určují, které úlohy je možné připustit. -
LocalQueueposkytuje frontu v rámci oboru názvů, ve které uživatelé odesílají úlohy a odkazují na ClusterQueue.
Následující tok ukazuje, jak Kueue vyhodnotí úlohu předtím, než Kubernetes naplánuje své pody: Úloha (pod, úloha atd.) → LocalQueue → ClusterQueue → přijetí úlohy → plánování Kubernetes.
A LocalQueue identifikuje ClusterQueue, která by měla vyhodnotit pracovní zátěž.
ClusterQueue určuje, zda je pro přijetí úlohy k dispozici dostatečná kvóta. Správci platformy obvykle konfigurují prostředky a zásady na úrovni clusteru, zatímco vlastníci úloh odesílají úlohy prostřednictvím nástroje LocalQueue.
Poznámka:
Pokud chcete odeslat úlohu do Kueue, přidejte k úloze popisek kueue.x-k8s.io/queue-name: <local-queue-name>. Tento štítek přidruží úlohu k LocalQueue, která ji směruje do příslušné ClusterQueue k přijetí.
Důležité
Opensourcový software je zmíněn v dokumentaci a ukázkách AKS. Software, který nasadíte, je vyloučený ze smluv o úrovni služeb AKS, omezené záruky a podpora Azure. Při používání opensourcových technologií společně s AKS se obraťte na možnosti podpory, které jsou k dispozici v příslušných komunitách a správci projektů, a vytvořte plán.
Microsoft zodpovídá za vytváření opensourcových balíčků, které nasazujeme v AKS. Tato odpovědnost zahrnuje plnou správu procesu sestavení, skenování, podepisování, validace a hotfixů, spolu s kontrolou nad binárními soubory v kontejnerových obrazech. Další informace najdete v tématu Řízení zranitelností pro AKS a Podpora pro AKS a rozsah pokrytí.
Kdy použít Kueue
Úlohy Batch a AI můžou mít požadavky na plánování a správu prostředků, které se liší od dlouhotrvajících služeb Kubernetes. Správci dávkových úloh (včetně správců platforem nebo clusterů a techniků DevOps) a dávkové uživatele (datoví vědci, vývojáři a technici ML) můžou těžit z nasazování úloh pomocí Kueue v AKS.
Správce služby Batch se zaměřuje na konfiguraci, správu a zabezpečení infrastruktury na úrovni platformy pro podporu dávkových úloh a má následující zodpovědnosti:
- Provozování a správa uzlových skupin AKS
- Definujte kvóty prostředků, clusterové fronty a zásady pro izolaci úloh.
- Vylaďte automatické škálování a nákladovou efektivitu (například automatické škálování clusteru nebo kvóty Kueue).
- Monitorujte stav klastru a fronty.
- Vytváření a údržba šablon a opakovaně použitelných pracovních postupů
Uživatel dávky spouští výpočetní úlohy náročné na výpočetní výkon nebo paralelní úlohy pomocí infrastruktury na úrovni platformy nakonfigurované správcem dávky a obvykle:
- Odesílání dávkových úloh (jako je Job, úloha, nebo vlastní řadič CRD) a monitorování stavu úloh a výstupů
- Výběr správné fronty nebo typu prostředků pro úlohy na základě pokynů od správců batch.
- Optimalizace specifikací úloh pro potřeby prostředků a výkonu
Požadavky
- Existující cluster AKS. Pokud nemáte klastr, vytvořte si ho pomocí Azure CLI, Azure PowerShell nebo portálu Azure.
- Azure CLI nainstalované na místním počítači. Pokud chcete nainstalovat nebo upgradovat, přečtěte si téma Instalace Azure CLI.
- Nainstalovali jsme Helm verze 3 nebo vyšší.
Další požadavky závisí na zvolené metodě instalace.
Volba způsobu instalace Kueue
AKS podporuje dva přístupy k instalaci pro Kueue. Zvolte možnost, která nejlépe odpovídá způsobu instalace a konfigurace Kueue ve vašem clusteru. Koncepty rozhraní API a front Kueue Kubernetes zůstávají stejné bez ohledu na metodu instalace. Hlavním rozdílem je způsob instalace a konfigurace komponent Kueue.
| Instalační cesta | Description |
|---|---|
| Spravované rozšíření AKS Kueue (Preview) | Kueue chcete nasadit prostřednictvím prostředí rozšíření clusteru AKS a použít verzi a konfiguraci Kueue podporovanou rozšířením. |
| Open source Kueue pomocí Helm | Chcete nainstalovat Kueue přímo z upstream projektu a řídit verzi Kueue, feature gates, integrace a konfiguraci Helmu. |
Instalace a konfigurace spravovaného rozšíření Kueue na Azure Kubernetes Service (Preview)
Rozšíření Kueue spravované službou AKS poskytuje nativní cestu instalace v Azure pro nasazení Kueue v clusteru AKS. Tuto metodu instalace použijte, pokud chcete nasadit Kueue prostřednictvím prostředí rozšíření clusteru AKS místo přímé instalace upstreamového chartu Helm.
Požadavky na spravované rozšíření
Než začnete, ujistěte se, že máte následující nástroje:
- AKS verze 1.34 nebo novější
- Azure CLI verze 2.56 nebo novější
- kubectl version 1.33–1.35
- Azure CLI k8s-extension verze 1.9.3 nebo novější
Limitations
- Spravované rozšíření AKS Kueue aktuálně podporuje pouze Cluster Autoscaler, přičemž podpora automatického zřizování uzlů je plánována.
- AKS Automatic zatím není podporováno. Podpora je plánována pro budoucí vydání.
- Nejprve musíte odebrat existující instalace OSS Kueue. Managed Kueue je jediná instance v clusteru a instalace odmítne nespravovaný kontroler Kueue, a to i v jiném oboru názvů.
- Podporované integrace úloh: Kubernetes Job, Pod, Deployment, StatefulSet, JobSet, Ray, MPIJob a Trainer v2 TrainJob.
- Nepodporované integrace úloh: Starší úlohy Kubeflow v1, AppWrapper a LeaderWorkerSet.
Nainstalujte spravované rozšíření Kueue
Nastavte proměnné prostředí pro vaše předplatné Azure, skupinu prostředků a cluster AKS:
RESOURCE_GROUP="<resource-group-name>"
CLUSTER_NAME="<aks-cluster-name>"
Nainstalujte rozšíření clusteru Kueue:
az k8s-extension create \
--resource-group "$RESOURCE_GROUP" \
--cluster-name "$CLUSTER_NAME" \
--cluster-type managedClusters \
--name aks-kueue \
--extension-type microsoft.kueue \
--release-train preview
Ověřte instalaci rozšíření
Získejte stav zřizování a nainstalovanou verzi rozšíření Kueue. Ověřte, že provisioningState je Succeeded a extensionState je Available. Pak pokračujte na Potvrdit stav nasazení.
az k8s-extension show \
--resource-group "$RESOURCE_GROUP" \
--cluster-name "$CLUSTER_NAME" \
--cluster-type managedClusters \
--name kueue \
--output json
Odinstalujte spravované rozšíření Kueue
Odinstalace spravovaného Kueue odstraní všechny vlastní zdroje Kueue v clusteru, včetně LocalQueues vytvořených zákazníkem, ClusterQueues, ResourceFlavors a dalších konfigurací Kueue. Také vymaže finalizátory, které blokují odstranění. Před odinstalací ponechte konfiguraci vlastněnou zákazníkem v Gitu nebo ji před odinstalací exportujte. Znovu jej použijte po přeinstalaci Kueue a před připuštěním úloh zařazených do fronty. Pokud používáte GitOps, pozastavte reconciliaci před odinstalací a po přeinstalaci Kueue ji znovu spusťte.
Úlohy Kubernetes spravované pomocí Kueue a jejich pody se neodstraní:
- Spuštěné úlohy a pody pokračují bez správy Kueue.
- Úlohy zařazené do fronty zůstanou pozastavené a nevytvoří pody.
- Po přeinstalaci Kueue vytvoří nové workloady pro přeživší úlohy Job, které mají stále popisek fronty.
Pokud chcete odebrat spravované Kueue bez odstranění clusteru AKS, odstraňte rozšíření:
az k8s-extension delete \
--resource-group "$RESOURCE_GROUP" \
--cluster-name "$CLUSTER_NAME" \
--cluster-type managedClusters \
--name kueue \
--yes
Nainstalujte Kueue pomocí Helm
Požadavky Helm
Než začnete, ujistěte se, že máte následující nástroje:
- Helm v3.0.0 nebo novější
- Oprávnění k vytváření a odstraňování: skupiny prostředků, clustery AKS, fondy uzlů AKS a rozšíření clusteru
Konfigurace volitelných funkcí Kueue
I když většina funkcí a zásad plánování, které byste mohli vyžadovat, jsou ve výchozím nastavení povolené, některé se nelíbí TopologyAwareScheduling. V případě potřeby překonfigurujte instalaci Kueue změnou výchozích Feature Gates nebo konfigurací hodnot parametrů Kueue v values.yaml souboru Helm chartu.
Kueue podporuje více pracovních frameworků, které je nutné explicitně povolit, abyste mohli využívat možnosti plánování a správy zdrojů Kueue při spuštění MPI Operator MPIJobs, KubeRay'sRayJob a dalších.
Následující příklad umožňuje:
-
LocalQueueMetricsposkytuje podrobné metriky Prometheus specifické pro stav a aktivitu místních front, které umožňují detailní sledování přidělování úloh, rezervace kvót a využití prostředků. -
TopologyAwareSchedulingumožňuje plánování podů na základě topologie uzlů ve fondu nebo clusteru, aby se zlepšila dostupná šířka pásma mezi pody. - Integrace pro frameworky pro dávkové a AI úlohy, včetně Kubeflow, Ray a JobSet.
Vytvořte a uložte
values.yamlsoubor pro volitelné přizpůsobení konfigurace Kueue.cat <<EOF > values.yaml controllerManager: featureGates: - name: TopologyAwareScheduling enabled: true - name: LocalQueueMetrics enabled: true managerConfig: controllerManagerConfigYaml: | apiVersion: config.kueue.x-k8s.io/v1beta1 kind: Configuration integrations: frameworks: - batch/job - kubeflow.org/mpijob - ray.io/rayjob - ray.io/raycluster - jobset.x-k8s.io/jobset - kubeflow.org/paddlejob - kubeflow.org/pytorchjob - kubeflow.org/tfjob - kubeflow.org/xgboostjob - kubeflow.org/jaxjob EOF
Poznámka:
Aktualizace verze podle potřeby: kueue/release
Pomocí příkazu nainstalujte nejnovější verzi kontroleru Kueue a CRD ve vyhrazeném oboru názvů
helm install.LATEST_VERSION=$(curl -s https://api.github.com/repos/kubernetes-sigs/kueue/releases/latest | grep tag_name | cut -d '"' -f 4 | sed 's/^v//') helm install kueue oci://registry.k8s.io/kueue/charts/kueue \ --version=${LATEST_VERSION} \ --create-namespace --namespace=kueue-system \ --values values.yamlPomocí příkazu
helm listověřte stav nasazení.helm list --namespace kueue-systemVáš výstup by měl obsahovat
Statuszdeployeda vypadat takto:Pulled: registry.k8s.io/kueue/charts/kueue:0.13.4 Digest: - NAME: kueue LAST DEPLOYED: - NAMESPACE: kueue-system STATUS: deployed REVISION: 1 TEST SUITE: None
Odinstalovat Kueue
Pokud už nepotřebujete controller manager Kueue nebo vlastní zdroje Kueue v clusteru AKS, odinstalujte úložiště Helm a odeberte vyhrazený obor názvů a prostředky.
Pomocí příkazu
helm uninstallodeberte repozitář Helm Kueue.helm uninstall kueue --namespace kueue-systemPomocí příkazu
kubectl deleteodeberte vyhrazený obor názvů a prostředky.kubectl delete namespace kueue-system
Potvrzení stavu nasazení
Bez ohledu na to, jakou metodu instalace používáte, před konfigurací front nebo odesláním úloh ověřte, že jsou spuštěné komponenty Kueue.
Ověřte, že jsou pody kontroleru správně spuštěné.
kubectl get deploy -n kueue-systemVaše výstupy by měly vypadat podobně jako následující příklad:
NAME READY UP-TO-DATE AVAILABLE AGE kueue-controller-manager 1/1 1 1 7s
Pro rozšíření AKS managed Kueue by měl výstup obsahovat obojí kueue-controller-manager i kueue-extension. Ověřte, že se obě nasazení zobrazují READY i AVAILABLE jako 1.
Potvrďte instalaci prostředků Kueue v clusteru AKS:
kubectl get crds | grep kueueVáš výstup by měl obsahovat následující CRD Kueue:
admissionchecks.kueue.x-k8s.io 2025-09-11T18:20:48Z clusterqueues.kueue.x-k8s.io 2025-09-11T18:20:48Z cohorts.kueue.x-k8s.io 2025-09-11T18:20:48Z localqueues.kueue.x-k8s.io 2025-09-11T18:20:48Z multikueueclusters.kueue.x-k8s.io 2025-09-11T18:20:48Z multikueueconfigs.kueue.x-k8s.io 2025-09-11T18:20:48Z provisioningrequestconfigs.kueue.x-k8s.io 2025-09-11T18:20:48Z resourceflavors.kueue.x-k8s.io 2025-09-11T18:20:48Z topologies.kueue.x-k8s.io 2025-09-11T18:20:48Z workloadpriorityclasses.kueue.x-k8s.io 2025-09-11T18:20:48Z workloads.kueue.x-k8s.io 2025-09-11T18:20:48Z
Přesná sada objektů CRD se může lišit v závislosti na nainstalované verzi Kueue.
Po spuštění Kueue nakonfigurujte fronty, kvóty prostředků a zásady přijímání úloh před odesláním úloh.