Instal ekstensi KubeRay terkelola di Azure Kubernetes Service (AKS) (pratinjau)

Important

Fitur pratinjau AKS tersedia atas dasar layanan mandiri dan pendaftaran sukarela. Pratinjau disediakan "apa adanya" dan "sebagaimana tersedia," dan pratinjau tersebut dikecualikan dari perjanjian tingkat layanan (SLA) serta garansi terbatas. Fitur pratinjau AKS sebagian didukung oleh dukungan pelanggan sebatas upaya terbaik. Dengan demikian, fitur-fitur ini tidak dimaksudkan untuk penggunaan produksi. Untuk informasi lebih lanjut, lihat artikel dukungan berikut ini:

Ekstensi KubeRay terkelola untuk Azure Kubernetes Service (AKS) sedang dalam pratinjau. Ini menginstal dan mengelola operator KubeRay dan definisi sumber daya kustom (CRD) Ray pada kluster Anda: RayCluster, RayJob, RayCronJob, dan RayService.

Artikel ini memperlihatkan kepada Anda cara menginstal, memverifikasi, memperbarui, dan menghapus ekstensi dengan menggunakan Azure CLI. Anda mengelola beban kerja Ray dan gambar runtime secara terpisah.

Prerequisites

Limitations

  • Instalasi KubeRay perangkat lunak sumber terbuka (OSS) yang ada:Hapus instalan operator KubeRay yang dihost sendiri yang ada sebelum Anda menginstal ekstensi KubeRay terkelola (microsoft.kuberay). Instalasi yang ditolak masih dapat mengubah skema dan kepemilikan Ray CRD, dan menghapus ekstensi yang gagal tidak membatalkan perubahan tersebut. Pertahankan CRD dan resource workload. Jika penginstalan sudah gagal, ikuti panduan pemulihan sebelum mencoba kembali.

Menyiapkan lingkungan Anda

Contoh berikut menggunakan Bash. Atur langganan dan detail kluster yang sudah ada, lalu masuk:

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"

Periksa versi Kubernetes kluster. Konfirmasikan bahwa versi yang dikembalikan adalah 1.34 atau yang lebih baru sebelum Anda melanjutkan:

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

Sambungkan ke kluster:

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

Instal atau perbarui ekstensi CLI dan daftarkan penyedia sumber daya yang diperlukan:

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

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

Periksa versi ekstensi CLI yang diinstal:

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

Menginstal ekstensi CLI menyediakan perintah manajemen; ini tidak menginstal KubeRay pada kluster Anda.

Hapus instalasi operator OSS KubeRay yang ada

Lewati langkah ini jika Anda tidak memiliki operator self-hosted. Jika tidak demikian, cadangkan data dan manifes beban kerja, tangguhkan RayCronJob jadwal, dan tunggu hingga pekerjaan yang sedang berjalan selesai sebelum menghapus operator.

Untuk penginstalan Helm, temukan nama rilis dan namespace:

helm list --all-namespaces

Hapus hanya rilis operator dan konfirmasikan bahwa deployment-nya hilang:

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"

Periksa apakah namespace yang dipertahankan memperlihatkan Active dan setiap *.ray.io CRD yang dipertahankan ditampilkan True di kolom ESTABLISHED:

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

Jika namespace sedang dihentikan atau Ray CRD belum tersedia, selesaikan masalah sebelum mengaktifkan ekstensi.

Untuk metode penginstalan lainnya, gunakan prosedur operator mereka untuk menghapusnya. Pertahankan CRD Ray dan sumber daya beban kerja; jangan hapus namespace mereka atau CRD mereka.

Menginstal ekstensi KubeRay terkelola

Cantumkan versi ekstensi yang tersedia untuk kluster Anda dan preview jalur rilis:

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

Konfirmasikan bahwa versi yang kompatibel dikembalikan. Jika tidak ada yang dikembalikan, lihat Memecahkan masalah penemuan versi ekstensi.

Buat ekstensi dengan pembaruan otomatis diaktifkan. Perintah menggunakan nilai berikut:

  • --extension-type microsoft.kuberay menginstal ekstensi KubeRay yang dikelola.
  • --scope cluster menginstal ekstensi untuk seluruh kluster.
  • --release-namespace kuberay-system mengatur namespace untuk kuberay-operator penyebaran.
  • --release-train "$RELEASE_TRAIN" memilih release train preview.
  • --auto-upgrade-minor-version true memungkinkan pemutakhiran otomatis. Jangan tentukan --version dengan pengaturan ini.
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

Verifikasi penginstalan ekstensi

Periksa versi terpasang dan status provisi:

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

Penginstalan dapat memakan waktu hingga 15 menit. Tunggu hingga output perintah menunjukkan nilai berikut, lalu verifikasi bahwa penyebaran operator tersedia dan CRD Ray diinstal:

  • provisioningState adalah Succeeded.
  • extensionState adalah Available atau 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

Jika pemeriksaan provisi atau kesiapan gagal, lihat Memecahkan masalah ekstensi KubeRay terkelola.

Memperbarui ekstensi KubeRay terkelola

Gunakan perintah az k8s-extension extension-types list-versions-by-cluster di Instal ekstensi KubeRay terkelola untuk memeriksa versi mana yang tersedia untuk kluster Anda.

Dalam sesi shell yang sama, atau setelah Anda menentukan ulang RESOURCE_GROUP, CLUSTER_NAME, EXTENSION_NAME, dan RELEASE_TRAIN seperti yang dijelaskan dalam Menyiapkan lingkungan Anda, aktifkan peningkatan otomatis untuk ekstensi yang ada:

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

Jangan tentukan --version saat peningkatan otomatis diaktifkan. Setelah pembaruan, ulangi langkah-langkah verifikasi dan konfirmasikan versi yang diinstal.

Hapus instalan ekstensi KubeRay terkelola

Sebelum Anda menghapus ekstensi KubeRay terkelola, pastikan RESOURCE_GROUP, CLUSTER_NAME, dan EXTENSION_NAME masih diatur seperti yang dijelaskan di Menyiapkan lingkungan Anda. Kemudian tinjau sumber daya Ray yang ada:

kubectl get rayclusters,raycronjobs,rayjobs,rayservices --all-namespaces
  • Tangguhkan pekerjaan terjadwal, biarkan pekerjaan berjalan selesai, dan pertahankan data dan manifes yang diperlukan.
  • Jika Anda ingin menghapus workload Ray, hapus saat operator masih berjalan sehingga dapat menyelesaikan pembersihan.

Hapus instans ekstensi:

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

Important

Menghapus ekstensi meninggalkan RAY CRD dan beban kerja di tempat, tetapi operator tidak lagi mengelolanya. Jangan hapus CRD sebagai pintasan pembersihan, karena melakukannya juga akan menghapus sumber daya kustom mereka.

Konfirmasikan bahwa kuberay ekstensi tidak lagi muncul di daftar ekstensi dan bahwa deployment kuberay-operator dihapus:

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

kubectl get deployments --namespace kuberay-system

Langkah berikutnya