

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

# Operator SageMaker AI Lama untuk Kubernetes
<a name="kubernetes-sagemaker-operators-end-of-support"></a>

Bagian ini didasarkan pada versi asli [Operator SageMaker AI untuk Kubernetes](https://github.com/aws/amazon-sagemaker-operator-for-k8s).

**penting**  
Kami menghentikan pengembangan dan dukungan teknis dari versi asli [ SageMaker Operator untuk Kubernetes](https://github.com/aws/amazon-sagemaker-operator-for-k8s/tree/master).  
Jika saat ini Anda menggunakan [ SageMaker Operator untuk Kubernetes versi `v1.2.2` atau di bawah ini, kami sarankan untuk](https://github.com/aws/amazon-sagemaker-operator-for-k8s/tree/master) memigrasikan sumber daya Anda ke [pengontrol layanan ACK](https://github.com/aws-controllers-k8s/sagemaker-controller) untuk Amazon. SageMaker Pengontrol layanan ACK adalah generasi baru SageMaker Operator untuk Kubernetes berdasarkan [AWS Controller for Kubernetes](https://aws-controllers-k8s.github.io/community/) (ACK).  
Untuk informasi tentang langkah-langkah migrasi, lihat[Migrasikan sumber daya ke Operator terbaru](kubernetes-sagemaker-operators-migrate.md).  
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](kubernetes-sagemaker-operators-eos-announcement.md)

**Topics**
+ [Instal Operator SageMaker AI untuk Kubernetes](#kubernetes-sagemaker-operators-eos-install)
+ [Gunakan Pekerjaan Amazon SageMaker AI](kubernetes-sagemaker-jobs.md)
+ [Migrasikan sumber daya ke Operator terbaru](kubernetes-sagemaker-operators-migrate.md)
+ [Mengumumkan Akhir Dukungan Versi Asli Operator SageMaker AI untuk Kubernetes](kubernetes-sagemaker-operators-eos-announcement.md)

## Instal Operator SageMaker AI untuk Kubernetes
<a name="kubernetes-sagemaker-operators-eos-install"></a>

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 

**Topics**
+ [Penyiapan berbasis peran IAM dan penyebaran operator](#iam-role-based-setup-and-operator-deployment)
+ [Pembersihan sumber daya](#cleanup-operator-resources)
+ [Hapus operator](#delete-operators)
+ [Pemecahan masalah](#troubleshooting)
+ [Gambar dan SMLog di setiap Wilayah](#images-and-smlogs-in-each-region)

### Penyiapan berbasis peran IAM dan penyebaran operator
<a name="iam-role-based-setup-and-operator-deployment"></a>

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 ACK-based SageMaker AI baru untuk Kubernetes, lihat. [Operator SageMaker AI Terbaru untuk Kubernetes](kubernetes-sagemaker-operators-ack.md)

#### Prasyarat
<a name="prerequisites"></a>

Panduan ini mengasumsikan bahwa Anda telah menyelesaikan prasyarat berikut: 
+ Instal alat-alat berikut pada mesin klien yang digunakan untuk mengakses klaster Kubernetes Anda: 
  + [`kubectl`](https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html)Versi 1.13 atau yang lebih baru. Gunakan `kubectl` 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 lebih awal dari 1.13. 
  + [`eksctl`](https://github.com/weaveworks/eksctl)Versi 0.7.0 atau yang lebih baru 
  + [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv1.html) Versi 1.16.232 atau yang lebih baru 
  + (opsional) [Helm](https://helm.sh/docs/intro/install/) Versi 3.0 atau yang lebih baru 
  + [aws-iam-autentikator](https://docs.aws.amazon.com/eks/latest/userguide/install-aws-iam-authenticator.html) 
+ 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](https://docs.aws.amazon.com/eks/latest/userguide/getting-started-eksctl.html). Dibutuhkan 20-30 menit untuk menyediakan cluster. 

#### Cluster-scoped penyebaran
<a name="cluster-scoped-deployment"></a>

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
<a name="create-an-openid-connect-provider-for-your-cluster"></a>

Petunjuk berikut menunjukkan cara membuat dan mengaitkan penyedia OIDC dengan kluster Amazon EKS Anda.

1. Tetapkan variabel lokal `CLUSTER_NAME` dan `AWS_REGION` lingkungan sebagai berikut:

   ```
   # Set the Region and cluster
   export CLUSTER_NAME="{{<your cluster name>}}"
   export AWS_REGION="{{<your region>}}"
   ```

1. Gunakan perintah berikut untuk mengaitkan penyedia OIDC dengan cluster Anda. Untuk informasi selengkapnya, lihat [Mengaktifkan Peran IAM untuk Akun Layanan di Cluster Anda](https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html). 

   ```
   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
<a name="get-the-oidc-id"></a>

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 Anda`None`, 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
<a name="create-an-iam-role"></a>

1. 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. 

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
           "Effect": "Allow",
           "Principal": {
             "Federated": "arn:aws:iam::{{111122223333}}: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"
             }
           }
         }
       ]
     }
   ```

------

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
           "Effect": "Allow",
           "Principal": {
             "Federated": "arn:aws-cn:iam::{{111122223333}}: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"
             }
           }
         }
       ]
     }
   ```

------

1. Jalankan perintah berikut untuk membuat peran dengan hubungan kepercayaan yang didefinisikan dalam`trust.json`. Peran ini memungkinkan kluster Amazon EKS untuk mendapatkan dan menyegarkan kredensil dari IAM. 

   ```
   aws iam create-role --region ${AWS_REGION} --role-name {{<role name>}} --assume-role-policy-document file://trust.json --output=text
   ```

   Output 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
<a name="attach-the-amazonsagemakerfullaccess-policy-to-the-role"></a>

Untuk memberikan akses peran ke SageMaker AI, lampirkan [AmazonSageMakerFullAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerFullAccess)kebijakan. Jika Anda ingin membatasi izin ke operator, Anda dapat membuat kebijakan kustom Anda sendiri dan melampirkannya. 

 Untuk melampirkan`AmazonSageMakerFullAccess`, 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
<a name="deploy-the-operator"></a>

Saat menerapkan operator, Anda dapat menggunakan file YAMM atau bagan Helm. 

##### Menyebarkan operator menggunakan YAMAL
<a name="deploy-the-operator-using-yaml"></a>

Ini adalah cara paling sederhana untuk menyebarkan operator Anda. Prosesnya adalah sebagai berikut: 

1. Unduh skrip penginstal menggunakan perintah berikut: 

   ```
   wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/release/rolebased/installer.yaml
   ```

1. Edit `installer.yaml` file untuk diganti`eks.amazonaws.com/role-arn`. Ganti ARN di sini dengan Amazon Resource Name (ARN) untuk OIDC-based peran yang Anda buat. 

1. Gunakan perintah berikut untuk menyebarkan cluster: 

   ```
   kubectl apply -f installer.yaml
   ```

##### Menerapkan operator menggunakan Helm Charts
<a name="deploy-the-operator-using-helm-charts"></a>

Gunakan Bagan Helm yang disediakan untuk menginstal operator. 

1. Kloning direktori installer Helm menggunakan perintah berikut: 

   ```
   git clone https://github.com/aws/amazon-sagemaker-operator-for-k8s.git
   ```

1. Arahkan ke `amazon-sagemaker-operator-for-k8s/hack/charts/installer` folder. Edit `rolebased/values.yaml` file, yang mencakup parameter tingkat tinggi untuk bagan. Ganti peran ARN di sini dengan Amazon Resource Name (ARN) untuk OIDC-based peran yang Anda buat. 

1. 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` 

1. 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
<a name="verify-the-operator-deployment"></a>

1. Anda harus dapat melihat Definisi Sumber Daya Kustom SageMaker AI (CRD) 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
   ```

1. 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 namespace `sagemaker-k8s-operator-system` sebagai berikut: 

   ```
   NAME                                                         READY   STATUS    RESTARTS   AGE
   sagemaker-k8s-operator-controller-manager-12345678-r8abc     2/2     Running   0          23s
   ```

#### Namespace-scoped penyebaran
<a name="namespace-scoped-deployment"></a>

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
<a name="create-an-openid-connect-provider-for-your-eks-cluster"></a>

Petunjuk berikut menunjukkan cara membuat dan mengaitkan penyedia OIDC dengan kluster Amazon EKS Anda. 

1. Tetapkan variabel lokal `CLUSTER_NAME` dan `AWS_REGION` lingkungan sebagai berikut: 

   ```
   # Set the Region and cluster
   export CLUSTER_NAME="{{<your cluster name>}}"
   export AWS_REGION="{{<your region>}}"
   ```

1. Gunakan perintah berikut untuk mengaitkan penyedia OIDC dengan cluster Anda. Untuk informasi selengkapnya, lihat [Mengaktifkan Peran IAM untuk Akun Layanan di Cluster Anda](https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html). 

   ```
   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
<a name="get-your-oidc-id"></a>

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 D48675832CA65BD10A532F597OIDCID adalah ID OIDC. ID OIDC untuk cluster Anda berbeda. Anda memerlukan nilai ID OIDC ini untuk membuat peran. 

 Jika output Anda`None`, 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
<a name="create-your-iam-role"></a>

1. 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. 

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
           "Effect": "Allow",
           "Principal": {
           "Federated": "arn:aws:iam::{{111122223333}}: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"
             }
           }
         }
       ]
     }
   ```

------

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
           "Effect": "Allow",
           "Principal": {
             "Federated": "arn:aws-cn:iam::{{111122223333}}: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"
             }
           }
         }
       ]
     }
   ```

------

1. Jalankan perintah berikut untuk membuat peran dengan hubungan kepercayaan yang didefinisikan dalam`trust.json`. Peran ini memungkinkan kluster Amazon EKS untuk mendapatkan dan menyegarkan kredensil dari IAM. 

   ```
   aws iam create-role --region ${AWS_REGION} --role-name {{<role name>}} --assume-role-policy-document file://trust.json --output=text
   ```

   Output 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/
   ```

Catat`ROLE ARN`. Anda meneruskan nilai ini ke operator Anda. 

##### Lampirkan AmazonSageMakerFullAccess kebijakan ke peran Anda
<a name="attach-the-amazonsagemakerfullaccess-policy-to-your-role"></a>

Untuk memberikan akses peran ke SageMaker AI, lampirkan [`AmazonSageMakerFullAccess`](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerFullAccess)kebijakan. Jika Anda ingin membatasi izin ke operator, Anda dapat membuat kebijakan kustom Anda sendiri dan melampirkannya. 

 Untuk melampirkan`AmazonSageMakerFullAccess`, 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
<a name="deploy-the-operator-to-your-namespace"></a>

Saat menerapkan operator, Anda dapat menggunakan file YAMM atau bagan Helm. 

##### Menerapkan operator ke namespace Anda menggunakan YAMAL
<a name="deploy-the-operator-to-your-namespace-using-yaml"></a>

Ada dua bagian untuk menerapkan operator dalam lingkup namespace. Yang pertama adalah set CRD yang diinstal 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 CRD 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: 

1. Unduh operator installer YAML menggunakan perintah berikut: 

   ```
   wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/release/rolebased/namespaced/operator.yaml
   ```

1. Perbarui penginstal YAMM untuk menempatkan sumber daya ke dalam namespace yang Anda tentukan menggunakan perintah berikut: 

   ```
   sed -i -e 's/PLACEHOLDER-NAMESPACE/{{<YOUR NAMESPACE>}}/g' operator.yaml
   ```

1. Edit `operator.yaml` file untuk menempatkan sumber daya ke dalam file Anda`eks.amazonaws.com/role-arn`. Ganti ARN di sini dengan Amazon Resource Name (ARN) untuk OIDC-based peran yang Anda buat. 

1. Gunakan perintah berikut untuk menyebarkan cluster: 

   ```
   kubectl apply -f operator.yaml
   ```

##### Terapkan operator ke namespace Anda menggunakan Helm Charts
<a name="deploy-the-operator-to-your-namespace-using-helm-charts"></a>

Ada dua bagian yang diperlukan untuk menyebarkan operator dalam lingkup namespace. Yang pertama adalah set CRD yang diinstal 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` 

1. Kloning direktori installer Helm menggunakan perintah berikut: 

   ```
   git clone https://github.com/aws/amazon-sagemaker-operator-for-k8s.git
   ```

1. Arahkan ke `amazon-sagemaker-operator-for-k8s/hack/charts/installer/namespaced` folder. Edit `rolebased/values.yaml` file, yang mencakup parameter tingkat tinggi untuk bagan. Ganti peran ARN di sini dengan Amazon Resource Name (ARN) untuk OIDC-based peran yang Anda buat. 

1. Instal Bagan Helm menggunakan perintah berikut: 

   ```
   helm install crds crd_chart/
   ```

1. Buat namespace yang diperlukan dan instal operator menggunakan perintah berikut: 

   ```
   kubectl create namespace {{<namespace>}}
   helm install --n {{<namespace>}} op operator_chart/
   ```

1. 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
<a name="verify-the-operator-deployment-to-your-namespace"></a>

1. Anda harus dapat melihat Definisi Sumber Daya Kustom SageMaker AI (CRD) 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
   ```

1. 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 namespace `my-namespace` sebagai berikut: 

   ```
   NAME                                                         READY   STATUS    RESTARTS   AGE
   sagemaker-k8s-operator-controller-manager-12345678-r8abc     2/2     Running   0          23s
   ```

#### Instal plugin `kubectl` log SageMaker AI
<a name="install-the-amazon-sagemaker-logs-kubectl-plugin"></a>

 [Sebagai bagian dari Operator SageMaker AI untuk Kubernetes, Anda dapat menggunakan plugin untuk. `smlogs`](https://kubernetes.io/docs/tasks/extend-kubectl/kubectl-plugins/) `kubectl` Ini memungkinkan CloudWatch log SageMaker AI untuk dialirkan. `kubectl` `kubectl`harus diinstal ke [PATH](http://www.linfo.org/path_env_var.html) Anda. Perintah berikut menempatkan biner di `sagemaker-k8s-bin` direktori di direktori home Anda, dan menambahkan direktori itu ke direktori Anda`PATH`. 

```
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
<a name="cleanup-operator-resources"></a>

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](#delete-operators) untuk menghapus operator dari cluster Anda.

### Hapus operator
<a name="delete-operators"></a>

#### Hapus operator berbasis cluster
<a name="delete-cluster-based-operators"></a>

##### Operator diinstal menggunakan YAMAL
<a name="operators-installed-using-yaml"></a>

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](#cleanup-operator-resources).

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
<a name="operators-installed-using-helm-charts"></a>

Untuk menghapus CRD operator, 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
<a name="delete-namespace-based-operators"></a>

##### Operator diinstal dengan YAMAL
<a name="operators-installed-with-yaml"></a>

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](#cleanup-operator-resources).

Setelah Anda menghapus semua pekerjaan SageMaker AI, gunakan `kubectl` untuk menghapus operator dari namespace terlebih dahulu dan kemudian CRD 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
<a name="operators-installed-with-helm-charts"></a>

Untuk menghapus CRD operator, 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
<a name="troubleshooting"></a>

#### Mendebug pekerjaan yang gagal
<a name="debugging-a-failed-job"></a>

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` dan`SageMaker 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 memiliki `additional` 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
<a name="deleting-an-operator-crd"></a>

Jika menghapus pekerjaan tidak berfungsi, periksa apakah operator sedang berjalan. Jika operator tidak berjalan, maka Anda harus menghapus finalizer menggunakan langkah-langkah berikut: 

1. Di terminal baru, buka pekerjaan di editor menggunakan `kubectl edit` sebagai berikut: 

   ```
   kubectl edit {{<crd type>}} {{<job name>}}
   ```

1. Edit pekerjaan untuk menghapus finalizer dengan menghapus dua baris berikut dari file. Simpan file dan pekerjaan akan dihapus. 

   ```
   finalizers:
     - sagemaker-operator-finalizer
   ```

### Gambar dan SMLog di setiap Wilayah
<a name="images-and-smlogs-in-each-region"></a>

Tabel berikut mencantumkan gambar operator dan SMLog yang tersedia di setiap Wilayah. 


|  Region  |  Gambar Pengontrol  |  Linux SMLog  | 
| --- | --- | --- | 
|  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](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](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](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](https://s3.eu-west-1.amazonaws.com/amazon-sagemaker-operator-for-k8s-eu-west-1/kubectl-smlogs-plugin/v1/linux.amd64.tar.gz)  | 