Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Bagian ini didasarkan pada versi asli Operator SageMaker AI untuk Kubernetes
penting
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
Untuk informasi tentang langkah-langkah migrasi, lihatMigrasikan sumber daya ke Operator terbaru.
Untuk jawaban atas pertanyaan umum di akhir dukungan versi asli SageMaker Operator untuk Kubernetes, lihat Mengumumkan Akhir Dukungan Versi Asli Operator SageMaker AI untuk Kubernetes
Daftar Isi
Instal Operator SageMaker AI untuk Kubernetes
Gunakan langkah-langkah berikut untuk menginstal dan menggunakan Operator SageMaker AI untuk Kubernetes untuk melatih, menyetel, dan menerapkan model pembelajaran mesin dengan Amazon AI. SageMaker
Daftar Isi
Penyiapan berbasis peran IAM dan penyebaran operator
Bagian berikut menjelaskan langkah-langkah untuk mengatur dan menyebarkan versi asli operator.
Awas
Pengingat: Langkah-langkah berikut tidak menginstal versi terbaru Operator SageMaker AI untuk Kubernetes. Untuk menginstal Operator SageMaker AI berbasis ACK baru untuk Kubernetes, lihat. Operator SageMaker AI Terbaru untuk Kubernetes
Prasyarat
Panduan ini mengasumsikan bahwa Anda telah menyelesaikan prasyarat berikut:
-
Instal alat-alat berikut pada mesin klien yang digunakan untuk mengakses klaster Kubernetes Anda:
-
kubectl
Versi 1.13 atau yang lebih baru. Gunakankubectl
versi yang ada dalam satu versi minor dari bidang kontrol cluster Amazon EKS Anda. Misalnya,kubectl
klien 1,13 bekerja dengan klaster Kubernetes 1,13 dan 1,14. OpenID Connect (OIDC) tidak didukung dalam versi yang lebih awal dari 1.13. -
eksctl
Versi 0.7.0 atau yang lebih baru -
AWS CLI Versi 1.16.232 atau yang lebih baru
-
(opsional) Helm
Versi 3.0 atau yang lebih baru
-
-
Memiliki izin IAM untuk membuat peran dan melampirkan kebijakan ke peran.
-
Membuat cluster Kubernetes untuk menjalankan operator. Itu harus Kubernetes versi 1.13 atau 1.14. Untuk pembuatan klaster otomatis menggunakan
eksctl
, lihat Memulai dengan eksctl. Dibutuhkan 20-30 menit untuk menyediakan cluster.
Penerapan dengan cakupan cluster
Sebelum Anda dapat menerapkan operator menggunakan peran IAM, kaitkan Penyedia Identitas OpenID Connect (OIDC) (iDP) dengan peran Anda untuk mengautentikasi dengan layanan IAM.
Buat penyedia OIDC untuk klaster Anda
Petunjuk berikut menunjukkan cara membuat dan mengaitkan penyedia OIDC dengan kluster Amazon EKS Anda.
-
Tetapkan variabel lokal
CLUSTER_NAME
danAWS_REGION
lingkungan sebagai berikut:# Set the Region and cluster export CLUSTER_NAME="
<your cluster name>
" export AWS_REGION="<your region>
" -
Gunakan perintah berikut untuk mengaitkan penyedia OIDC dengan cluster Anda. Untuk informasi selengkapnya, lihat Mengaktifkan Peran IAM untuk Akun Layanan di Cluster Anda.
eksctl utils associate-iam-oidc-provider --cluster ${CLUSTER_NAME} \ --region ${AWS_REGION} --approve
Output Anda akan terlihat seperti berikut:
[_] eksctl version 0.10.1 [_] using region us-east-1 [_] IAM OpenID Connect provider is associated with cluster "my-cluster" in "us-east-1"
Sekarang klaster memiliki penyedia identitas OIDC, Anda dapat membuat peran dan memberikan ServiceAccount izin Kubernetes untuk mengambil peran tersebut.
Dapatkan ID OIDC
Untuk mengatur ServiceAccount, dapatkan URL penerbit OIDC menggunakan perintah berikut:
aws eks describe-cluster --name ${CLUSTER_NAME} --region ${AWS_REGION} \
--query cluster.identity.oidc.issuer --output text
Perintah mengembalikan URL seperti berikut:
https://oidc.eks.${AWS_REGION}.amazonaws.com/id/D48675832CA65BD10A532F597OIDCID
Di URL ini, nilainya D48675832CA65BD10A532F597OIDCID
adalah ID OIDC. ID OIDC untuk cluster Anda berbeda. Anda memerlukan nilai ID OIDC ini untuk membuat peran.
Jika output AndaNone
, itu berarti versi klien Anda sudah tua. Untuk mengatasinya, jalankan perintah berikut:
aws eks describe-cluster --region ${AWS_REGION} --query cluster --name ${CLUSTER_NAME} --output text | grep OIDC
URL OIDC dikembalikan sebagai berikut:
OIDC https://oidc.eks.us-east-1.amazonaws.com/id/D48675832CA65BD10A532F597OIDCID
Membuat peran IAM
-
Buat file bernama
trust.json
dan masukkan blok kode hubungan kepercayaan berikut ke dalamnya. Pastikan untuk mengganti all<OIDC ID>
,<AWS account number>
, dan<EKS Cluster region>
placeholder dengan nilai yang sesuai dengan cluster Anda.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::
<AWS account number>
:oidc-provider/oidc.eks.<EKS Cluster region>
.amazonaws.com/id/<OIDC ID>
" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "oidc.eks.<EKS Cluster region>
.amazonaws.com/id/<OIDC ID>
:aud": "sts.amazonaws.com", "oidc.eks.<EKS Cluster region>
.amazonaws.com/id/<OIDC ID>
:sub": "system:serviceaccount:sagemaker-k8s-operator-system:sagemaker-k8s-operator-default" } } } ] } -
Jalankan perintah berikut untuk membuat peran dengan hubungan kepercayaan yang didefinisikan dalam
trust.json
. Peran ini memungkinkan cluster Amazon EKS untuk mendapatkan dan menyegarkan kredensyal dari IAM.aws iam create-role --region ${AWS_REGION} --role-name
<role name>
--assume-role-policy-document file://trust.json --output=textOutput Anda akan terlihat seperti berikut:
ROLE arn:aws:iam::123456789012:role/my-role 2019-11-22T21:46:10Z / ABCDEFSFODNN7EXAMPLE my-role ASSUMEROLEPOLICYDOCUMENT 2012-10-17 STATEMENT sts:AssumeRoleWithWebIdentity Allow STRINGEQUALS sts.amazonaws.com system:serviceaccount:sagemaker-k8s-operator-system:sagemaker-k8s-operator-default PRINCIPAL arn:aws:iam::123456789012:oidc-provider/oidc.eks.us-east-1.amazonaws.com/id/
Perhatikan
ROLE ARN
; Anda meneruskan nilai ini ke operator Anda.
Lampirkan AmazonSageMakerFullAccess kebijakan ke peran
Untuk memberikan akses peran ke SageMaker AI, lampirkan AmazonSageMakerFullAccess
Untuk melampirkanAmazonSageMakerFullAccess
, jalankan perintah berikut:
aws iam attach-role-policy --role-name
<role name>
--policy-arn arn:aws:iam::aws:policy/AmazonSageMakerFullAccess
Kubernetes ServiceAccount sagemaker-k8s-operator-default
harus memiliki izin. AmazonSageMakerFullAccess
Konfirmasikan ini saat Anda menginstal operator.
Menyebarkan operator
Saat menerapkan operator, Anda dapat menggunakan file YAMM atau bagan Helm.
Menyebarkan operator menggunakan YAMAL
Ini adalah cara paling sederhana untuk menyebarkan operator Anda. Prosesnya adalah sebagai berikut:
-
Unduh skrip penginstal menggunakan perintah berikut:
wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/release/rolebased/installer.yaml
-
Edit
installer.yaml
file untuk digantieks.amazonaws.com/role-arn
. Ganti ARN di sini dengan Amazon Resource Name (ARN) untuk peran berbasis OIDC yang telah Anda buat. -
Gunakan perintah berikut untuk menyebarkan cluster:
kubectl apply -f installer.yaml
Menerapkan operator menggunakan Helm Charts
Gunakan Bagan Helm yang disediakan untuk menginstal operator.
-
Kloning direktori installer Helm menggunakan perintah berikut:
git clone https://github.com/aws/amazon-sagemaker-operator-for-k8s.git
-
Arahkan ke
amazon-sagemaker-operator-for-k8s/hack/charts/installer
folder. Editrolebased/values.yaml
file, yang mencakup parameter tingkat tinggi untuk bagan. Ganti peran ARN di sini dengan Amazon Resource Name (ARN) untuk peran berbasis OIDC yang telah Anda buat. -
Instal Bagan Helm menggunakan perintah berikut:
kubectl create namespace sagemaker-k8s-operator-system helm install --namespace sagemaker-k8s-operator-system sagemaker-operator rolebased/
Jika Anda memutuskan untuk menginstal operator ke namespace selain yang ditentukan, Anda perlu menyesuaikan namespace yang ditentukan dalam file peran IAM agar sesuai.
trust.json
-
Setelah beberapa saat, bagan diinstal dengan nama yang dihasilkan secara acak. Verifikasi bahwa instalasi berhasil dengan menjalankan perintah berikut:
helm ls
Output Anda akan terlihat seperti berikut:
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION sagemaker-operator sagemaker-k8s-operator-system 1 2019-11-20 23:14:59.6777082 +0000 UTC deployed sagemaker-k8s-operator-0.1.0
Verifikasi penyebaran operator
-
Anda harus dapat melihat Definisi Sumber Daya Kustom SageMaker AI (CRDs) untuk setiap operator yang diterapkan ke cluster Anda dengan menjalankan perintah berikut:
kubectl get crd | grep sagemaker
Output Anda akan terlihat seperti berikut:
batchtransformjobs.sagemaker.aws.amazon.com 2019-11-20T17:12:34Z endpointconfigs.sagemaker.aws.amazon.com 2019-11-20T17:12:34Z hostingdeployments.sagemaker.aws.amazon.com 2019-11-20T17:12:34Z hyperparametertuningjobs.sagemaker.aws.amazon.com 2019-11-20T17:12:34Z models.sagemaker.aws.amazon.com 2019-11-20T17:12:34Z trainingjobs.sagemaker.aws.amazon.com 2019-11-20T17:12:34Z
-
Pastikan pod operator berjalan dengan sukses. Gunakan perintah berikut untuk membuat daftar semua pod:
kubectl -n sagemaker-k8s-operator-system get pods
Anda akan melihat sebuah pod bernama
sagemaker-k8s-operator-controller-manager-*****
di namespacesagemaker-k8s-operator-system
sebagai berikut:NAME READY STATUS RESTARTS AGE sagemaker-k8s-operator-controller-manager-12345678-r8abc 2/2 Running 0 23s
Penerapan dengan cakupan ruang nama
Anda memiliki opsi untuk menginstal operator Anda dalam lingkup namespace Kubernetes individual. Dalam mode ini, pengontrol hanya memantau dan merekonsiliasi sumber daya dengan SageMaker AI jika sumber daya dibuat di dalam namespace itu. Ini memungkinkan kontrol yang lebih halus atas pengontrol mana yang mengelola sumber daya mana. Ini berguna untuk menyebarkan ke beberapa AWS akun atau mengontrol pengguna mana yang memiliki akses ke pekerjaan tertentu.
Panduan ini menguraikan cara menginstal operator ke namespace tertentu yang telah ditentukan sebelumnya. Untuk menerapkan controller ke namespace kedua, ikuti panduan dari awal hingga akhir dan ubah namespace di setiap langkah.
Buat penyedia OIDC untuk kluster Amazon EKS Anda
Petunjuk berikut menunjukkan cara membuat dan mengaitkan penyedia OIDC dengan kluster Amazon EKS Anda.
-
Tetapkan variabel lokal
CLUSTER_NAME
danAWS_REGION
lingkungan sebagai berikut:# Set the Region and cluster export CLUSTER_NAME="
<your cluster name>
" export AWS_REGION="<your region>
" -
Gunakan perintah berikut untuk mengaitkan penyedia OIDC dengan cluster Anda. Untuk informasi selengkapnya, lihat Mengaktifkan Peran IAM untuk Akun Layanan di Cluster Anda.
eksctl utils associate-iam-oidc-provider --cluster ${CLUSTER_NAME} \ --region ${AWS_REGION} --approve
Output Anda akan terlihat seperti berikut:
[_] eksctl version 0.10.1 [_] using region us-east-1 [_] IAM OpenID Connect provider is associated with cluster "my-cluster" in "us-east-1"
Sekarang klaster memiliki penyedia identitas OIDC, buat peran dan berikan ServiceAccount izin Kubernetes untuk mengambil peran tersebut.
Dapatkan ID OIDC Anda
Untuk mengatur ServiceAccount, pertama-tama dapatkan URL penerbit OpenID Connect menggunakan perintah berikut:
aws eks describe-cluster --name ${CLUSTER_NAME} --region ${AWS_REGION} \
--query cluster.identity.oidc.issuer --output text
Perintah mengembalikan URL seperti berikut:
https://oidc.eks.${AWS_REGION}.amazonaws.com/id/D48675832CA65BD10A532F597OIDCID
Dalam URL ini, nilai D48675832 CA65 BD1 0A532F597OIDCID adalah ID OIDC. ID OIDC untuk cluster Anda berbeda. Anda memerlukan nilai ID OIDC ini untuk membuat peran.
Jika output AndaNone
, itu berarti versi klien Anda sudah tua. Untuk mengatasinya, jalankan perintah berikut:
aws eks describe-cluster --region ${AWS_REGION} --query cluster --name ${CLUSTER_NAME} --output text | grep OIDC
URL OIDC dikembalikan sebagai berikut:
OIDC https://oidc.eks.us-east-1.amazonaws.com/id/D48675832CA65BD10A532F597OIDCID
Buat peran IAM Anda
-
Buat file bernama
trust.json
dan masukkan blok kode hubungan kepercayaan berikut ke dalamnya. Pastikan untuk mengganti semua<OIDC ID>
,,<AWS account number>
<EKS Cluster region>
, dan<Namespace>
placeholder dengan nilai yang sesuai dengan cluster Anda. Untuk keperluan panduan ini,my-namespace
digunakan untuk<Namespace>
nilai.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::
<AWS account number>
:oidc-provider/oidc.eks.<EKS Cluster region>
.amazonaws.com/id/<OIDC ID>
" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "oidc.eks.<EKS Cluster region>
.amazonaws.com/id/<OIDC ID>
:aud": "sts.amazonaws.com", "oidc.eks.<EKS Cluster region>
.amazonaws.com/id/<OIDC ID>
:sub": "system:serviceaccount:<Namespace>
:sagemaker-k8s-operator-default" } } } ] } -
Jalankan perintah berikut untuk membuat peran dengan hubungan kepercayaan yang didefinisikan dalam
trust.json
. Peran ini memungkinkan cluster Amazon EKS untuk mendapatkan dan menyegarkan kredensyal dari IAM.aws iam create-role --region ${AWS_REGION} --role-name
<role name>
--assume-role-policy-document file://trust.json --output=textOutput Anda akan terlihat seperti berikut:
ROLE arn:aws:iam::123456789012:role/my-role 2019-11-22T21:46:10Z / ABCDEFSFODNN7EXAMPLE my-role ASSUMEROLEPOLICYDOCUMENT 2012-10-17 STATEMENT sts:AssumeRoleWithWebIdentity Allow STRINGEQUALS sts.amazonaws.com system:serviceaccount:my-namespace:sagemaker-k8s-operator-default PRINCIPAL arn:aws:iam::123456789012:oidc-provider/oidc.eks.us-east-1.amazonaws.com/id/
CatatROLE ARN
. Anda meneruskan nilai ini ke operator Anda.
Lampirkan AmazonSageMakerFullAccess kebijakan ke peran Anda
Untuk memberikan akses peran ke SageMaker AI, lampirkan AmazonSageMakerFullAccess
Untuk melampirkanAmazonSageMakerFullAccess
, jalankan perintah berikut:
aws iam attach-role-policy --role-name
<role name>
--policy-arn arn:aws:iam::aws:policy/AmazonSageMakerFullAccess
Kubernetes ServiceAccount sagemaker-k8s-operator-default
harus memiliki izin. AmazonSageMakerFullAccess
Konfirmasikan ini saat Anda menginstal operator.
Terapkan operator ke namespace Anda
Saat menerapkan operator, Anda dapat menggunakan file YAMM atau bagan Helm.
Menerapkan operator ke namespace Anda menggunakan YAMAL
Ada dua bagian untuk menerapkan operator dalam lingkup namespace. Yang pertama adalah himpunan CRDs yang dipasang pada tingkat cluster. Definisi sumber daya ini hanya perlu diinstal satu kali per klaster Kubernetes. Bagian kedua adalah izin operator dan penyebaran itu sendiri.
Jika Anda belum menginstal CRDs ke dalam cluster, terapkan CRD installer YAMB menggunakan perintah berikut:
kubectl apply -f https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/release/rolebased/namespaced/crd.yaml
Untuk menginstal operator ke cluster:
-
Unduh penginstal operator YAMM menggunakan perintah berikut:
wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/release/rolebased/namespaced/operator.yaml
-
Perbarui penginstal YAMAL untuk menempatkan sumber daya ke dalam namespace yang Anda tentukan menggunakan perintah berikut:
sed -i -e 's/PLACEHOLDER-NAMESPACE/
<YOUR NAMESPACE>
/g' operator.yaml -
Edit
operator.yaml
file untuk menempatkan sumber daya ke dalam file Andaeks.amazonaws.com/role-arn
. Ganti ARN di sini dengan Amazon Resource Name (ARN) untuk peran berbasis OIDC yang telah Anda buat. -
Gunakan perintah berikut untuk menyebarkan cluster:
kubectl apply -f operator.yaml
Terapkan operator ke namespace Anda menggunakan Helm Charts
Ada dua bagian yang diperlukan untuk menyebarkan operator dalam lingkup namespace. Yang pertama adalah himpunan CRDs yang dipasang pada tingkat cluster. Definisi sumber daya ini hanya perlu diinstal satu kali per klaster Kubernetes. Bagian kedua adalah izin operator dan penyebaran itu sendiri. Saat menggunakan Helm Charts Anda harus terlebih dahulu membuat namespace menggunakan. kubectl
-
Kloning direktori installer Helm menggunakan perintah berikut:
git clone https://github.com/aws/amazon-sagemaker-operator-for-k8s.git
-
Arahkan ke
amazon-sagemaker-operator-for-k8s/hack/charts/installer/namespaced
folder. Editrolebased/values.yaml
file, yang mencakup parameter tingkat tinggi untuk bagan. Ganti peran ARN di sini dengan Amazon Resource Name (ARN) untuk peran berbasis OIDC yang telah Anda buat. -
Instal Bagan Helm menggunakan perintah berikut:
helm install crds crd_chart/
-
Buat namespace yang diperlukan dan instal operator menggunakan perintah berikut:
kubectl create namespace
<namespace>
helm install --n<namespace>
op operator_chart/ -
Setelah beberapa saat, bagan dipasang dengan nama
sagemaker-operator
. Verifikasi bahwa instalasi berhasil dengan menjalankan perintah berikut:helm ls
Output Anda akan terlihat seperti berikut:
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION sagemaker-operator my-namespace 1 2019-11-20 23:14:59.6777082 +0000 UTC deployed sagemaker-k8s-operator-0.1.0
Verifikasi penyebaran operator ke namespace Anda
-
Anda harus dapat melihat Definisi Sumber Daya Kustom SageMaker AI (CRDs) untuk setiap operator yang diterapkan ke cluster Anda dengan menjalankan perintah berikut:
kubectl get crd | grep sagemaker
Output Anda akan terlihat seperti berikut:
batchtransformjobs.sagemaker.aws.amazon.com 2019-11-20T17:12:34Z endpointconfigs.sagemaker.aws.amazon.com 2019-11-20T17:12:34Z hostingdeployments.sagemaker.aws.amazon.com 2019-11-20T17:12:34Z hyperparametertuningjobs.sagemaker.aws.amazon.com 2019-11-20T17:12:34Z models.sagemaker.aws.amazon.com 2019-11-20T17:12:34Z trainingjobs.sagemaker.aws.amazon.com 2019-11-20T17:12:34Z
-
Pastikan pod operator berjalan dengan sukses. Gunakan perintah berikut untuk membuat daftar semua pod:
kubectl -n my-namespace get pods
Anda akan melihat sebuah pod bernama
sagemaker-k8s-operator-controller-manager-*****
di namespacemy-namespace
sebagai berikut:NAME READY STATUS RESTARTS AGE sagemaker-k8s-operator-controller-manager-12345678-r8abc 2/2 Running 0 23s
Instal kubectl
plugin log SageMaker AI
Sebagai bagian dari Operator SageMaker AI untuk Kubernetes, Anda dapat menggunakan plugin untuk. smlogs
kubectl
Ini memungkinkan CloudWatch log SageMaker AI untuk dialirkan. kubectl
kubectl
harus diinstal ke PATHsagemaker-k8s-bin
direktori di direktori home Anda, dan menambahkan direktori itu ke direktori AndaPATH
.
export os="linux"
wget https://amazon-sagemaker-operator-for-k8s-us-east-1.s3.amazonaws.com/kubectl-smlogs-plugin/v1/${os}.amd64.tar.gz
tar xvzf ${os}.amd64.tar.gz
# Move binaries to a directory in your homedir.
mkdir ~/sagemaker-k8s-bin
cp ./kubectl-smlogs.${os}.amd64/kubectl-smlogs ~/sagemaker-k8s-bin/.
# This line adds the binaries to your PATH in your .bashrc.
echo 'export PATH=$PATH:~/sagemaker-k8s-bin' >> ~/.bashrc
# Source your .bashrc to update environment variables:
source ~/.bashrc
Gunakan perintah berikut untuk memverifikasi bahwa kubectl
plugin diinstal dengan benar:
kubectl smlogs
Jika kubectl
plugin diinstal dengan benar, output Anda akan terlihat seperti berikut:
View SageMaker AI logs via Kubernetes
Usage:
smlogs [command]
Aliases:
smlogs, SMLogs, Smlogs
Available Commands:
BatchTransformJob View BatchTransformJob logs via Kubernetes
TrainingJob View TrainingJob logs via Kubernetes
help Help about any command
Flags:
-h, --help help for smlogs
Use "smlogs [command] --help" for more information about a command.
Pembersihan sumber daya
Untuk menghapus instalan operator dari cluster Anda, Anda harus terlebih dahulu memastikan untuk menghapus semua sumber daya SageMaker AI dari cluster. Kegagalan untuk melakukannya menyebabkan operasi penghapusan operator hang. Jalankan perintah berikut untuk menghentikan semua pekerjaan:
# Delete all SageMaker AI jobs from Kubernetes
kubectl delete --all --all-namespaces hyperparametertuningjob.sagemaker.aws.amazon.com
kubectl delete --all --all-namespaces trainingjobs.sagemaker.aws.amazon.com
kubectl delete --all --all-namespaces batchtransformjob.sagemaker.aws.amazon.com
kubectl delete --all --all-namespaces hostingdeployment.sagemaker.aws.amazon.com
Anda akan melihat output yang serupa dengan yang berikut:
$ kubectl delete --all --all-namespaces trainingjobs.sagemaker.aws.amazon.com
trainingjobs.sagemaker.aws.amazon.com "xgboost-mnist-from-for-s3" deleted
$ kubectl delete --all --all-namespaces hyperparametertuningjob.sagemaker.aws.amazon.com
hyperparametertuningjob.sagemaker.aws.amazon.com "xgboost-mnist-hpo" deleted
$ kubectl delete --all --all-namespaces batchtransformjob.sagemaker.aws.amazon.com
batchtransformjob.sagemaker.aws.amazon.com "xgboost-mnist" deleted
$ kubectl delete --all --all-namespaces hostingdeployment.sagemaker.aws.amazon.com
hostingdeployment.sagemaker.aws.amazon.com "host-xgboost" deleted
Setelah Anda menghapus semua pekerjaan SageMaker AI, lihat Hapus operator untuk menghapus operator dari cluster Anda.
Hapus operator
Hapus operator berbasis cluster
Operator diinstal menggunakan YAMAL
Untuk menghapus instalan operator dari cluster Anda, pastikan semua sumber daya SageMaker AI telah dihapus dari cluster. Kegagalan untuk melakukannya menyebabkan operasi penghapusan operator hang.
catatan
Sebelum menghapus cluster Anda, pastikan untuk menghapus semua sumber daya SageMaker AI dari cluster. Untuk informasi selengkapnya, lihat Pembersihan sumber daya.
Setelah Anda menghapus semua pekerjaan SageMaker AI, gunakan kubectl
untuk menghapus operator dari cluster:
# Delete the operator and its resources
kubectl delete -f /installer.yaml
Anda akan melihat output yang serupa dengan yang berikut:
$ kubectl delete -f raw-yaml/installer.yaml
namespace "sagemaker-k8s-operator-system" deleted
customresourcedefinition.apiextensions.k8s.io "batchtransformjobs.sagemaker.aws.amazon.com" deleted
customresourcedefinition.apiextensions.k8s.io "endpointconfigs.sagemaker.aws.amazon.com" deleted
customresourcedefinition.apiextensions.k8s.io "hostingdeployments.sagemaker.aws.amazon.com" deleted
customresourcedefinition.apiextensions.k8s.io "hyperparametertuningjobs.sagemaker.aws.amazon.com" deleted
customresourcedefinition.apiextensions.k8s.io "models.sagemaker.aws.amazon.com" deleted
customresourcedefinition.apiextensions.k8s.io "trainingjobs.sagemaker.aws.amazon.com" deleted
role.rbac.authorization.k8s.io "sagemaker-k8s-operator-leader-election-role" deleted
clusterrole.rbac.authorization.k8s.io "sagemaker-k8s-operator-manager-role" deleted
clusterrole.rbac.authorization.k8s.io "sagemaker-k8s-operator-proxy-role" deleted
rolebinding.rbac.authorization.k8s.io "sagemaker-k8s-operator-leader-election-rolebinding" deleted
clusterrolebinding.rbac.authorization.k8s.io "sagemaker-k8s-operator-manager-rolebinding" deleted
clusterrolebinding.rbac.authorization.k8s.io "sagemaker-k8s-operator-proxy-rolebinding" deleted
service "sagemaker-k8s-operator-controller-manager-metrics-service" deleted
deployment.apps "sagemaker-k8s-operator-controller-manager" deleted
secrets "sagemaker-k8s-operator-abcde" deleted
Operator diinstal menggunakan Helm Charts
Untuk menghapus operator CRDs, pertama-tama hapus semua pekerjaan yang sedang berjalan. Kemudian hapus Bagan Helm yang digunakan untuk menyebarkan operator menggunakan perintah berikut:
# get the helm charts helm ls # delete the charts helm delete
<chart_name>
Hapus operator berbasis namespace
Operator diinstal dengan YAMAL
Untuk menghapus instalan operator dari cluster Anda, pertama-tama pastikan bahwa semua sumber daya SageMaker AI telah dihapus dari cluster. Kegagalan untuk melakukannya menyebabkan operasi penghapusan operator hang.
catatan
Sebelum menghapus cluster Anda, pastikan untuk menghapus semua sumber daya SageMaker AI dari cluster. Untuk informasi selengkapnya, lihat Pembersihan sumber daya.
Setelah Anda menghapus semua pekerjaan SageMaker AI, gunakan kubectl
untuk terlebih dahulu menghapus operator dari namespace dan kemudian CRDs dari cluster. Jalankan perintah berikut untuk menghapus operator dari cluster:
# Delete the operator using the same yaml file that was used to install the operator kubectl delete -f operator.yaml # Now delete the CRDs using the CRD installer yaml kubectl delete -f https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/release/rolebased/namespaced/crd.yaml # Now you can delete the namespace if you want kubectl delete namespace
<namespace>
Operator diinstal dengan Helm Charts
Untuk menghapus operator CRDs, pertama-tama hapus semua pekerjaan yang sedang berjalan. Kemudian hapus Bagan Helm yang digunakan untuk menyebarkan operator menggunakan perintah berikut:
# Delete the operator helm delete
<chart_name>
# delete the crds helm delete crds # optionally delete the namespace kubectl delete namespace<namespace>
Pemecahan Masalah
Mendebug pekerjaan yang gagal
Gunakan langkah-langkah ini untuk men-debug pekerjaan yang gagal.
-
Periksa status pekerjaan dengan menjalankan yang berikut:
kubectl get
<CRD Type>
<job name>
-
Jika pekerjaan dibuat di SageMaker AI, Anda dapat menggunakan perintah berikut untuk melihat
STATUS
danSageMaker Job Name
:kubectl get
<crd type>
<job name>
-
Anda dapat menggunakan
smlogs
untuk menemukan penyebab masalah menggunakan perintah berikut:kubectl smlogs
<crd type>
<job name>
-
Anda juga dapat menggunakan
describe
perintah untuk mendapatkan detail lebih lanjut tentang pekerjaan menggunakan perintah berikut. Output memilikiadditional
bidang yang memiliki informasi lebih lanjut tentang status pekerjaan.kubectl describe
<crd type>
<job name>
-
Jika pekerjaan tidak dibuat di SageMaker AI, gunakan log pod operator untuk menemukan penyebab masalah sebagai berikut:
$ kubectl get pods -A | grep sagemaker # Output: sagemaker-k8s-operator-system sagemaker-k8s-operator-controller-manager-5cd7df4d74-wh22z 2/2 Running 0 3h33m $ kubectl logs -p
<pod name>
-c manager -n sagemaker-k8s-operator-system
Menghapus CRD operator
Jika menghapus pekerjaan tidak berfungsi, periksa apakah operator sedang berjalan. Jika operator tidak berjalan, maka Anda harus menghapus finalizer menggunakan langkah-langkah berikut:
-
Di terminal baru, buka pekerjaan di editor menggunakan
kubectl edit
sebagai berikut:kubectl edit
<crd type>
<job name>
-
Edit pekerjaan untuk menghapus finalizer dengan menghapus dua baris berikut dari file. Simpan file dan pekerjaan akan dihapus.
finalizers: - sagemaker-operator-finalizer
Gambar dan SMlogs di setiap Wilayah
Tabel berikut mencantumkan gambar operator yang tersedia dan SMLogs di setiap Wilayah.