Migrasikan sumber daya ke Operator terbaru - Amazon SageMaker

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Migrasikan sumber daya ke Operator terbaru

Kami menghentikan pengembangan dan dukungan teknis dari versi asli SageMaker Operator untuk Kubernetes.

Jika saat ini Anda menggunakan SageMaker Operator untuk Kubernetes versi v1.2.2 atau di bawah ini, kami sarankan untuk memigrasikan sumber daya Anda ke pengontrol layanan ACK untuk Amazon. SageMaker Pengontrol layanan ACK adalah generasi baru SageMaker Operator untuk Kubernetes berdasarkan AWS Controller for Kubernetes (ACK).

Untuk jawaban atas pertanyaan umum di akhir dukungan versi asli SageMaker Operator untuk Kubernetes, lihat Mengumumkan Berakhirnya Support Versi Original SageMaker Operator untuk Kubernetes

Gunakan langkah-langkah berikut untuk memigrasikan sumber daya Anda dan gunakan ACK untuk melatih, menyetel, dan menerapkan model pembelajaran mesin dengan Amazon. SageMaker

catatan

SageMaker Operator terbaru untuk Kubernetes tidak kompatibel ke belakang.

Prasyarat

Agar berhasil memigrasikan sumber daya ke SageMaker Operator terbaru untuk Kubernetes, Anda harus melakukan hal berikut:

  1. Instal SageMaker Operator terbaru untuk Kubernetes. Lihat Pengaturan di Machine Learning dengan ACK SageMaker Controller untuk step-by-step instruksi.

  2. Jika Anda menggunakanSumber daya HostingAutoscalingPolicy, instal Application Auto Scaling Operator yang baru. Lihat Pengaturan di SageMaker Beban Kerja Skala dengan Application Auto Scaling untuk petunjuk. step-by-step Langkah ini opsional jika Anda tidak menggunakan HostingAutoScalingPolicy sumber daya.

Jika izin dikonfigurasi dengan benar, maka pengontrol SageMaker layanan ACK dapat menentukan spesifikasi dan status AWS sumber daya dan merekonsiliasi sumber daya seolah-olah pengontrol ACK awalnya membuatnya.

Mengadopsi sumber daya

SageMaker Operator baru untuk Kubernetes menyediakan kemampuan untuk mengadopsi sumber daya yang awalnya tidak dibuat oleh ACK Service Controller. Untuk informasi selengkapnya, lihat Mengadopsi Sumber AWS Daya yang Ada di dokumentasi ACK.

Langkah-langkah berikut menunjukkan bagaimana SageMaker Operator baru untuk Kubernetes dapat mengadopsi endpoint yang sudah ada. SageMaker Simpan sampel berikut ke file bernamaadopt-endpoint-sample.yaml.

apiVersion: services.k8s.aws/v1alpha1 kind: AdoptedResource metadata: name: adopt-endpoint-sample spec: aws: # resource to adopt, not created by ACK nameOrID: xgboost-endpoint kubernetes: group: sagemaker.services.k8s.aws kind: Endpoint metadata: # target K8s CR name name: xgboost-endpoint

Kirim sumber daya kustom (CR) menggunakankubectl apply:

kubectl apply -f adopt-endpoint-sample.yaml

Gunakan kubectl describe untuk memeriksa kondisi status sumber daya yang Anda adopsi.

kubectl describe adoptedresource adopt-endpoint-sample

Verifikasi bahwa ACK.Adopted kondisinyaTrue. Outputnya akan terlihat mirip dengan contoh berikut:

--- kind: AdoptedResource metadata: annotations: kubectl.kubernetes.io/last-applied-configuration: '{"apiVersion":"services.k8s.aws/v1alpha1","kind":"AdoptedResource","metadata":{"annotations":{},"name":"xgboost-endpoint","namespace":"default"},"spec":{"aws":{"nameOrID":"xgboost-endpoint"},"kubernetes":{"group":"sagemaker.services.k8s.aws","kind":"Endpoint","metadata":{"name":"xgboost-endpoint"}}}}' creationTimestamp: '2021-04-27T02:49:14Z' finalizers: - finalizers.services.k8s.aws/AdoptedResource generation: 1 name: adopt-endpoint-sample namespace: default resourceVersion: '12669876' selfLink: "/apis/services.k8s.aws/v1alpha1/namespaces/default/adoptedresources/adopt-endpoint-sample" uid: 35f8fa92-29dd-4040-9d0d-0b07bbd7ca0b spec: aws: nameOrID: xgboost-endpoint kubernetes: group: sagemaker.services.k8s.aws kind: Endpoint metadata: name: xgboost-endpoint status: conditions: - status: 'True' type: ACK.Adopted

Periksa apakah sumber daya Anda ada di klaster Anda:

kubectl describe endpoints.sagemaker xgboost-endpoint

Sumber daya HostingAutoscalingPolicy

Sumber daya HostingAutoscalingPolicy (HAP) terdiri dari beberapa sumber daya Application Auto Scaling: dan. ScalableTarget ScalingPolicy Saat mengadopsi sumber daya HAP dengan ACK, pertama-tama instal pengontrol Application Auto Scaling. Untuk mengadopsi sumber daya HAP, Anda perlu mengadopsi keduanya ScalableTarget dan ScalingPolicy sumber daya. Anda dapat menemukan pengindentifikasi sumber daya untuk sumber daya ini dalam status HostingAutoscalingPolicy resource ()status.ResourceIDList.

HostingDeployment sumber daya

Sumber HostingDeployment daya terdiri dari beberapa SageMaker sumber daya:Endpoint,EndpointConfig, dan masing-masingModel. Jika Anda mengadopsi SageMaker titik akhir di ACK, Anda perlu mengadopsiEndpoint,EndpointConfig, dan masing-masing Model secara terpisah. ModelNamaEndpoint,EndpointConfig, dan dapat ditemukan dalam status HostingDeployment sumber daya (status.endpointName,status.endpointConfigName, danstatus.modelNames).

Untuk daftar semua sumber SageMaker daya yang didukung, lihat Referensi ACK API.

Bersihkan sumber daya lama

Setelah SageMaker Operator baru untuk Kubernetes mengadopsi sumber daya Anda, Anda dapat menghapus instalan operator lama dan membersihkan sumber daya lama.

Langkah 1: Copot pemasangan operator lama

Untuk menghapus instalan operator lama, lihatHapus operator.

Awas

Copot pemasangan operator lama sebelum menghapus sumber daya lama.

Langkah 2: Hapus finalizer dan hapus sumber daya lama

Awas

Sebelum menghapus sumber daya lama, pastikan Anda telah menghapus instalan operator lama.

Setelah menghapus instalan operator lama, Anda harus secara eksplisit menghapus finalizer untuk menghapus sumber daya operator lama. Contoh skrip berikut menunjukkan cara menghapus semua pekerjaan pelatihan yang dikelola oleh operator lama di namespace tertentu. Anda dapat menggunakan pola serupa untuk menghapus sumber daya tambahan setelah diadopsi oleh operator baru.

catatan

Anda harus menggunakan nama sumber daya lengkap untuk mendapatkan sumber daya. Misalnya, gunakan kubectl get trainingjobs.sagemaker.aws.amazon.com sebagai ganti dari kubectl get trainingjob.

namespace=sagemaker_namespace training_jobs=$(kubectl get trainingjobs.sagemaker.aws.amazon.com -n $namespace -ojson | jq -r '.items | .[] | .metadata.name') for job in $training_jobs do echo "Deleting $job resource in $namespace namespace" kubectl patch trainingjobs.sagemaker.aws.amazon.com $job -n $namespace -p '{"metadata":{"finalizers":null}}' --type=merge kubectl delete trainingjobs.sagemaker.aws.amazon.com $job -n $namespace done

Gunakan SageMaker Operator baru untuk Kubernetes

Untuk panduan mendalam tentang penggunaan SageMaker Operator baru untuk Kubernetes, lihat Menggunakan SageMaker Operator untuk Kubernetes