Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
SageMaker Operator Lama untuk Kubernetes
Bagian ini didasarkan pada versi asli SageMaker Operator 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 Berakhirnya Support Versi Original SageMaker Operator untuk Kubernetes
Daftar Isi
Instal SageMaker Operator untuk Kubernetes
Gunakan langkah-langkah berikut untuk menginstal dan menggunakan SageMaker Operator untuk Kubernetes untuk melatih, menyetel, dan menerapkan model pembelajaran mesin dengan Amazon. SageMaker
Daftar Isi
IAMpenyiapan berbasis peran dan penyebaran operator
Bagian berikut menjelaskan langkah-langkah untuk mengatur dan menyebarkan versi asli operator.
Awas
Pengingat: Langkah-langkah berikut tidak menginstal versi terbaru SageMaker Operator untuk Kubernetes. Untuk menginstal SageMaker Operator ACK berbasis baru untuk Kubernetes, lihat. SageMaker Operator 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 EKS cluster Amazon 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 CLIVersi 1.16.232 atau yang lebih baru
-
(opsional) Helm
Versi 3.0 atau yang lebih baru
-
-
Memiliki IAM izin 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 cakupan cluster
Sebelum Anda dapat menerapkan operator menggunakan IAM peran, kaitkan Penyedia Identitas OpenID OIDC Connect () (IDP) dengan peran Anda untuk mengautentikasi dengan layanan. IAM
Buat OIDC penyedia untuk klaster Anda
Petunjuk berikut menunjukkan cara membuat dan mengaitkan OIDC penyedia dengan EKS klaster Amazon 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 OIDC penyedia dengan cluster Anda. Untuk informasi selengkapnya, lihat Mengaktifkan IAM Peran 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 OIDC identitas, Anda dapat membuat peran dan memberikan ServiceAccount izin Kubernetes untuk mengambil peran tersebut.
Dapatkan OIDC ID
Untuk mengatur ServiceAccount, dapatkan OIDC penerbit URL 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 hal iniURL, nilainya D48675832CA65BD10A532F597OIDCID
adalah OIDC ID. OIDCID untuk cluster Anda berbeda. Anda memerlukan nilai OIDC ID 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
OIDCURLDikembalikan sebagai berikut:
OIDC https://oidc.eks.us-east-1.amazonaws.com/id/D48675832CA65BD10A532F597OIDCID
Buat IAM peran
-
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 EKS kluster Amazon untuk mendapatkan dan menyegarkan kredensialnya. IAMaws 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 SageMaker, 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 YAML file atau bagan Helm.
Menyebarkan operator menggunakan YAML
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 di ARN sini dengan Amazon Resource Name (ARN) untuk peran OIDC berbasis 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 di ARN sini dengan Amazon Resource Name (ARN) untuk peran OIDC berbasis 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 IAM peran
trust.json
agar sesuai. -
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 SageMaker Kustom (CRDs) untuk setiap operator yang diterapkan ke klaster 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 jika sumber daya dibuat 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 OIDC penyedia untuk EKS klaster Amazon Anda
Petunjuk berikut menunjukkan cara membuat dan mengaitkan OIDC penyedia dengan EKS klaster Amazon 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 OIDC penyedia dengan cluster Anda. Untuk informasi selengkapnya, lihat Mengaktifkan IAM Peran 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 OIDC identitas, buat peran dan berikan ServiceAccount izin Kubernetes untuk mengambil peran tersebut.
Dapatkan OIDC ID Anda
Untuk mengatur ServiceAccount, pertama-tama dapatkan penerbit OpenID Connect URL 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 hal iniURL, nilai D48675832 CA65BD1 0A532F597 adalah ID. OIDCID OIDC OIDCID untuk cluster Anda berbeda. Anda memerlukan nilai OIDC ID 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
OIDCURLDikembalikan sebagai berikut:
OIDC https://oidc.eks.us-east-1.amazonaws.com/id/D48675832CA65BD10A532F597OIDCID
Buat IAM peran 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 EKS kluster Amazon untuk mendapatkan dan menyegarkan kredensialnya. IAMaws 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/
PerhatikanROLE ARN
. Anda meneruskan nilai ini ke operator Anda.
Lampirkan AmazonSageMakerFullAccess kebijakan ke peran Anda
Untuk memberikan akses peran SageMaker, 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 YAML file atau bagan Helm.
Terapkan operator ke namespace Anda menggunakan YAML
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 YAML 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 YAML menggunakan perintah berikut:
wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/release/rolebased/namespaced/operator.yaml
-
Perbarui penginstal YAML untuk menempatkan sumber daya ke 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 di ARN sini dengan Amazon Resource Name (ARN) untuk peran OIDC berbasis 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 di ARN sini dengan Amazon Resource Name (ARN) untuk peran OIDC berbasis 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 SageMaker Kustom (CRDs) untuk setiap operator yang diterapkan ke klaster 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 SageMaker log
Sebagai bagian dari SageMaker Operator untuk Kubernetes, Anda dapat menggunakan plugin untuk. smlogs
kubectl
Hal ini memungkinkan SageMaker CloudWatch log untuk dialirkan dengankubectl
. kubectl
harus diinstal ke Anda 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 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 SageMaker sumber daya dari cluster. Kegagalan untuk melakukannya menyebabkan operasi penghapusan operator hang. Jalankan perintah berikut untuk menghentikan semua pekerjaan:
# Delete all SageMaker 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 SageMaker pekerjaan, lihat Hapus operator untuk menghapus operator dari klaster Anda.
Hapus operator
Hapus operator berbasis cluster
Operator diinstal menggunakan YAML
Untuk menghapus instalan operator dari cluster Anda, pastikan bahwa semua SageMaker sumber daya telah dihapus dari cluster. Kegagalan untuk melakukannya menyebabkan operasi penghapusan operator hang.
catatan
Sebelum menghapus cluster Anda, pastikan untuk menghapus semua SageMaker sumber daya dari cluster. Untuk informasi selengkapnya, lihat Pembersihan sumber daya.
Setelah Anda menghapus semua SageMaker pekerjaan, 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 operatorCRDs, 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 YAML
Untuk menghapus instalan operator dari cluster Anda, pertama-tama pastikan bahwa semua SageMaker sumber daya telah dihapus dari cluster. Kegagalan untuk melakukannya menyebabkan operasi penghapusan operator hang.
catatan
Sebelum menghapus cluster Anda, pastikan untuk menghapus semua SageMaker sumber daya dari cluster. Untuk informasi selengkapnya, lihat Pembersihan sumber daya.
Setelah Anda menghapus semua SageMaker pekerjaan, gunakan kubectl
untuk pertama 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 operatorCRDs, 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, 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 SageMaker, 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 operator CRD
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.
Wilayah | Gambar Pengontrol | Linux SMLogs |
---|---|---|
us-east-1 |
957583890962.dkr.ecr.us-east-1.amazonaws.com/amazon-sagemaker-operator-for-k8s:v1
|
https://s3.us-east-1.amazonaws.com/amazon-sagemaker-operator-for-k8s-us-east-1/kubectl-smlogs-plugin/v1/linux.amd64.tar.gz |
us-east-2 |
922499468684.dkr.ecr.us-east-2.amazonaws.com/amazon-sagemaker-operator-for-k8s:v1
|
https://s3.us-east-2.amazonaws.com/amazon-sagemaker-operator-for-k8s-us-east-2/kubectl-smlogs-plugin/v1/linux.amd64.tar.gz |
us-west-2 |
640106867763.dkr.ecr.us-west-2.amazonaws.com/amazon-sagemaker-operator-for-k8s:v1
|
https://s3.us-west-2.amazonaws.com/amazon-sagemaker-operator-for-k8s-us-west-2/kubectl-smlogs-plugin/v1/linux.amd64.tar.gz |
eu-west-1 |
613661167059.dkr.ecr.eu-west-1.amazonaws.com/amazon-sagemaker-operator-for-k8s:v1
|
https://s3.eu-west-1.amazonaws.com/amazon-sagemaker-operator-for-k8s-eu-west-1/kubectl-smlogs-plugin/v1/linux.amd64.tar.gz |