Azure Kubernetes Service (AKS) üzerinde yönetilen KubeRay uzantısını yükleme (önizleme)

Important

AKS önizleme özellikleri self servis ve kabul temelinde kullanılabilir. Önizlemeler "olduğu gibi" ve "mevcut olduğu şekilde" sağlanmakta olup, hizmet seviyesi anlaşmalarına ve sınırlı garantilere dahil edilmemektedir. AKS önizlemeleri, müşteri desteği ekibi tarafından maksimum çaba gösterilerek kısmen ele alınmaktadır. Bu nedenle, bu özellikler üretim kullanımı için tasarlanmamıştır. Daha fazla bilgi için aşağıdaki destek makalelerine bakın:

Azure Kubernetes Service (AKS) için yönetilen KubeRay uzantısı önizleme aşamasındadır. KubeRay işlecini ve Ray özel kaynak tanımlarını (CRD) kümenize yükler ve yönetir: RayCluster, RayJob, RayCronJobve RayService.

Bu makalede, Azure CLI kullanarak uzantının nasıl yükleneceği, doğrulanacağı, güncelleştirileceği ve kaldırılacağı gösterilmektedir. Ray iş yüklerinizi ve çalışma zamanı görüntülerini ayrı ayrı yönetirsiniz.

Prerequisites

Limitations

  • Mevcut açık kaynaklı yazılım (OSS) KubeRay kurulumları:microsoft.kuberay () yüklemeden önce mevcut kendi kendine barındırılan KubeRay işlecini kaldırın. Reddedilen yükleme yine de Ray CRD şemalarını ve sahipliğini değiştirebilir ve başarısız uzantıyı silmek bu değişiklikleri geri almaz. CRD'leri ve iş yükü kaynaklarını koruyun. Bir yükleme zaten başarısız olduysa, yeniden denemeden önce kurtarma yönergelerini izleyin.

Ortamınızı hazırlama

Aşağıdaki örneklerde Bash kullanılır. Aboneliğinizi ve mevcut küme ayrıntılarını ayarlayın ve oturum açın:

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"

Kümenin Kubernetes sürümünü denetleyin. Devam etmeden önce döndürülen sürümün 1.34 veya üzeri olduğunu onaylayın:

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

Kümeye bağlanın:

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

CLI uzantısını yükleyin veya güncelleştirin ve gerekli kaynak sağlayıcılarını kaydedin:

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

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

Yüklü CLI uzantısı sürümünü denetleyin:

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

CLI uzantısını yüklemek yönetim komutları sağlar; kümenize KubeRay yüklemez.

Mevcut bir OSS KubeRay operatörünü kaldırma

Self-hosted operatörünüz yoksa bu adımı atlayın. Aksi takdirde, iş yükü verilerini ve manifestlerini yedekleyin, zamanlamaları askıya alın RayCronJob ve operatörü kaldırmadan önce çalışan işlerin tamamlanmasını bekleyin.

Helm yüklemesi için release adını ve ad alanını bulun:

helm list --all-namespaces

Yalnızca operatör release'ini kaldırın ve dağıtımının gittiğini onaylayın:

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"

Korunan ad alanının Active gösterdiğini ve korunan her *.ray.io CRD'nin True sütununda ESTABLISHED gösterdiğini denetleyin:

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

Ad alanı sonlandırılıyorsa veya Ray CRD oluşturulmamışsa, uzantıyı etkinleştirmeden önce sorunu çözün.

Diğer yükleme yöntemleri için ilgili kaldırma yordamını kullanın. Ray CRD'lerini ve iş yükü kaynaklarını koruyun; ad alanlarını veya CRD'lerini silmeyin.

Yönetilen KubeRay uzantısını yükleyin

Kümeniz ve preview yayın hattı için kullanılabilir uzantı sürümlerini listeleyin:

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

Uyumlu bir sürümün döndürüldüğünü onaylayın. Hiçbiri döndürülmezse bkz. Uzantı sürümü bulma sorunlarını giderme.

Otomatik yükseltmeler etkinken uzantıyı oluşturun. komut aşağıdaki değerleri kullanır:

  • --extension-type microsoft.kuberay yönetilen KubeRay uzantısını yükler.
  • --scope cluster ile uzantı tüm küme için yüklenir.
  • --release-namespace kuberay-system dağıtım için kuberay-operator ad alanını ayarlar.
  • --release-train "$RELEASE_TRAIN" preview sürüm hattını seçer.
  • --auto-upgrade-minor-version true otomatik yükseltmeleri etkinleştirir. --version öğesini bu ayarla belirtmeyin.
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

Uzantı yüklemesini doğrulayın

Yüklü sürümü ve tedarik durumunu inceleyin:

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

Yükleme 15 dakika kadar sürebilir. Komut çıkışı aşağıdaki değerleri gösterene kadar bekleyin, ardından operatör dağıtımının kullanılabilir olduğunu ve Ray CRD'lerinin yüklendiğini doğrulayın:

  • provisioningState, Succeeded'e eşittir.
  • extensionStateveya AvailableşeklindedirReady.
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

Dağıtım veya hazırlık denetimleri başarısız olursa bkz. Yönetilen KubeRay uzantısında sorun giderme.

Yönetilen KubeRay uzantısını güncelleştirin

Kümeniz için hangi sürümlerin kullanılabilir olduğunu denetlemek üzere Yönetilen KubeRay uzantısını yükleme bölümündeki az k8s-extension extension-types list-versions-by-cluster komutunu kullanın.

Aynı kabuk oturumunda veya RESOURCE_GROUP bölümünde açıklandığı gibi , CLUSTER_NAME, EXTENSION_NAME ve RELEASE_TRAIN öğelerini yeniden tanımladıktan sonra, var olan bir uzantı için otomatik yükseltmeleri etkinleştirin:

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

Otomatik yükseltmeler etkinleştirildiğinde --version belirtmeyin. Güncelleştirmeden sonra doğrulama adımlarını yineleyin ve yüklü sürümü onaylayın.

Yönetilen KubeRay uzantısını kaldırın

Yönetilen KubeRay uzantısını kaldırmadan önce, RESOURCE_GROUP bölümünde açıklandığı gibi , CLUSTER_NAME ve EXTENSION_NAME öğelerinin hâlâ ayarlı olduğundan emin olun. Ardından mevcut Ray kaynaklarını gözden geçirin:

kubectl get rayclusters,raycronjobs,rayjobs,rayservices --all-namespaces
  • Zamanlanmış işleri askıya alın, çalışan işlerin bitmesine izin verin ve gerekli verileri ve manifest dosyalarını koruyun.
  • Ray iş yüklerini silmek istiyorsanız, temizleme işlemini tamamlayabilmesi için operatör hâlâ çalışırken bunları silin.

Uzantı örneğini kaldırın:

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

Important

Uzantının kaldırılması Ray CRD'lerini ve iş yüklerini yerinde bırakır, ancak operatör artık bunları yönetmez. Temizleme kısayolu olarak CRD'leri silmeyin, çünkü bunu yapmak özel kaynaklarını da siler.

kuberay uzantısının artık uzantı listesinde görünmediğini ve kuberay-operator dağıtımının kaldırıldığını onaylayın:

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

kubectl get deployments --namespace kuberay-system

Sonraki Adımlar