Instalace spravovaného rozšíření KubeRay na Azure Kubernetes Service (AKS) (Preview)

Important

Funkce AKS ve verzi Preview jsou k dispozici na bázi samoobsluhy a dobrovolného přihlášení. Ukázky jsou poskytovány "tak, jak jsou" a "dle dostupnosti" a jsou vyloučeny ze smluv o úrovni služeb a z omezené záruky. Předběžné verze AKS jsou částečně pokryty zákaznickou podporou podle možností. Proto tyto funkce nejsou určené pro produkční použití. Další informace najdete v následujících článcích podpory:

Spravované rozšíření KubeRay pro Azure Kubernetes Service (AKS) je ve verzi Preview. Instaluje a spravuje operátor KubeRay a vlastní definice prostředků Ray (CRD) ve vašem clusteru: RayCluster, RayJob, RayCronJob a RayService.

V tomto článku se dozvíte, jak nainstalovat, ověřit, aktualizovat a odebrat rozšíření pomocí Azure CLI. Workloady Ray a jejich runtime image spravujete samostatně.

Prerequisites

Limitations

Příprava prostředí

Následující příklady používají Bash. Nastavte předplatné a podrobnosti o existujícím clusteru a pak se přihlaste:

SUBSCRIPTION_ID="<subscription-id>"
RESOURCE_GROUP="<existing-resource-group>"
CLUSTER_NAME="<existing-aks-cluster>"
EXTENSION_NAME="kuberay"
RELEASE_TRAIN="preview"

az login
az account set --subscription "$SUBSCRIPTION_ID"

Zkontrolujte verzi Kubernetes clusteru. Než budete pokračovat, ověřte, že vrácená hodnota verze je 1.34 nebo novější:

az aks show \
  --resource-group "$RESOURCE_GROUP" \
  --name "$CLUSTER_NAME" \
  --query kubernetesVersion \
  --output tsv

Připojte se ke clusteru:

az aks get-credentials \
  --resource-group "$RESOURCE_GROUP" \
  --name "$CLUSTER_NAME"

Nainstalujte nebo aktualizujte rozšíření rozhraní příkazového řádku a zaregistrujte požadované poskytovatele prostředků:

az extension add --name k8s-extension --upgrade

az provider register --namespace Microsoft.ContainerService --wait
az provider register --namespace Microsoft.KubernetesConfiguration --wait

Zkontrolujte nainstalovanou verzi rozšíření rozhraní příkazového řádku:

az extension show --name k8s-extension --query version --output tsv

Instalace rozšíření rozhraní příkazového řádku poskytuje příkazy pro správu; neinstaluje KubeRay do clusteru.

Odinstalace existujícího operátoru OSS KubeRay

Pokud nemáte self-hostovaný operátor, tento krok přeskočte. Jinak zálohujte data úloh/zátěže a manifesty, pozastavte harmonogramy RayCronJob a počkejte na dokončení spuštěných úloh před odebráním operátora.

Pro instalaci Helmu vyhledejte název releasu a obor názvů:

helm list --all-namespaces

Odeberte pouze release operátoru a ověřte, že jeho nasazení je pryč:

OSS_RELEASE_NAME="<existing-kuberay-release-name>"
OSS_RELEASE_NAMESPACE="<existing-kuberay-release-namespace>"

helm uninstall "$OSS_RELEASE_NAME" --namespace "$OSS_RELEASE_NAMESPACE"
kubectl get deployments --namespace "$OSS_RELEASE_NAMESPACE"

Zkontrolujte, jestli se zachováný obor názvů zobrazuje Active a že se v každém zachovaném *.ray.io CRD zobrazuje True ve sloupci ESTABLISHED :

kubectl get namespace "$OSS_RELEASE_NAMESPACE"
kubectl get crds \
  --output='custom-columns=NAME:.metadata.name,ESTABLISHED:.status.conditions[?(@.type=="Established")].status'

Pokud se obor názvů ukončuje nebo není vytvořeno Ray CRD, před povolením rozšíření problém vyřešte.

U jiných metod instalace použijte jejich postup pro odebrání operátoru. Zachovejte Ray CRDs a prostředky úloh; neodstraňujte jejich jmenné prostory ani objekty CRD.

Nainstalujte spravované rozšíření KubeRay

Uveďte dostupné verze rozšíření pro váš cluster a větev vydání preview:

az k8s-extension extension-types list-versions-by-cluster \
  --resource-group "$RESOURCE_GROUP" \
  --cluster-name "$CLUSTER_NAME" \
  --cluster-type managedClusters \
  --extension-type microsoft.kuberay \
  --release-train "$RELEASE_TRAIN" \
  --output table

Ověřte, že je vrácena kompatibilní verze. Pokud se žádný nevrátí, přečtěte si téma Řešení potíží se zjišťováním verzí rozšíření.

Vytvořte rozšíření s povolenými automatickými upgrady. Příkaz používá následující hodnoty:

  • --extension-type microsoft.kuberay instaluje spravované rozšíření KubeRay.
  • --scope cluster instaluje rozšíření pro celý cluster.
  • --release-namespace kuberay-system nastaví obor názvů pro kuberay-operator Deployment.
  • --release-train "$RELEASE_TRAIN" vybere větev vydání preview.
  • --auto-upgrade-minor-version true umožňuje automatické upgrady. Nezadávejte --version při tomto nastavení.
az k8s-extension create \
  --resource-group "$RESOURCE_GROUP" \
  --cluster-name "$CLUSTER_NAME" \
  --cluster-type managedClusters \
  --name "$EXTENSION_NAME" \
  --extension-type microsoft.kuberay \
  --scope cluster \
  --release-namespace kuberay-system \
  --release-train "$RELEASE_TRAIN" \
  --auto-upgrade-minor-version true

Ověřte instalaci rozšíření

Zkontrolujte nainstalovanou verzi a stav zřizování prostředků:

az k8s-extension show \
  --resource-group "$RESOURCE_GROUP" \
  --cluster-name "$CLUSTER_NAME" \
  --cluster-type managedClusters \
  --name "$EXTENSION_NAME" \
  --query "{name:name,version:currentVersion,provisioningState:provisioningState,extensionState:extensionState}" \
  --output table

Instalace může trvat až 15 minut. Počkejte, až výstup příkazu zobrazí následující hodnoty, a pak ověřte, že je nasazení operátoru k dispozici a že jsou nainstalovány Ray CRD:

  • provisioningState je Succeeded.
  • extensionState je Available nebo Ready.
kubectl wait \
  --for=condition=Available \
  deployment/kuberay-operator \
  --namespace kuberay-system \
  --timeout=5m

kubectl get crds \
  rayclusters.ray.io \
  raycronjobs.ray.io \
  rayjobs.ray.io \
  rayservices.ray.io \
  --output name

Pokud kontroly zřizování nebo připravenosti selžou, přečtěte si téma Řešení potíží se spravovaným rozšířením KubeRay.

Aktualizovat spravované rozšíření KubeRay

Pomocí příkazu az k8s-extension extension-types list-versions-by-cluster v části Instalace spravovaného rozšíření KubeRay zkontrolujte, které verze jsou pro váš cluster k dispozici.

Ve stejné relaci prostředí nebo po opětovné definici RESOURCE_GROUP, CLUSTER_NAME, EXTENSION_NAME a RELEASE_TRAIN, jak je popsáno v části Příprava prostředí, povolte automatické upgrady pro existující rozšíření:

az k8s-extension update \
  --resource-group "$RESOURCE_GROUP" \
  --cluster-name "$CLUSTER_NAME" \
  --cluster-type managedClusters \
  --name "$EXTENSION_NAME" \
  --release-train "$RELEASE_TRAIN" \
  --auto-upgrade-minor-version true \
  --yes

Nezadávejte --version, pokud jsou povoleny automatické upgrady. Po aktualizaci opakujte kroky ověření a potvrďte nainstalovanou verzi.

Odinstalujte spravované rozšíření KubeRay

Než odeberete spravované rozšíření KubeRay, ujistěte se, že RESOURCE_GROUP, CLUSTER_NAME a EXTENSION_NAME jsou stále nastavené, jak je popsáno v části Příprava prostředí. Pak zkontrolujte existující prostředky Ray:

kubectl get rayclusters,raycronjobs,rayjobs,rayservices --all-namespaces
  • Pozastavte naplánované úlohy, nechte spuštěné úlohy dokončit a zachovejte požadovaná data a manifesty.
  • Pokud chcete odstranit úlohy Ray, odstraňte je, když je operátor stále spuštěný, aby mohl dokončit vyčištění.

Odeberte instanci rozšíření:

az k8s-extension delete \
  --resource-group "$RESOURCE_GROUP" \
  --cluster-name "$CLUSTER_NAME" \
  --cluster-type managedClusters \
  --name "$EXTENSION_NAME" \
  --yes

Important

Odebrání rozšíření ponechá na místě Ray CRDs a úlohy, ale operátor je už nespravuje. Neodstraňujte CRD jako zkratku pro vyčištění, protože tím také odstraníte jejich vlastní zdroje.

Ověřte, že se rozšíření kuberay už nezobrazuje v seznamu rozšíření a že je nasazení kuberay-operator odebráno:

az k8s-extension list \
  --resource-group "$RESOURCE_GROUP" \
  --cluster-name "$CLUSTER_NAME" \
  --cluster-type managedClusters \
  --output table

kubectl get deployments --namespace kuberay-system

Další kroky