

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

# Perbarui versi AMI Anda di SageMaker HyperPod klaster Anda
<a name="sagemaker-hyperpod-release-ami-update"></a>

Amazon SageMaker HyperPod Amazon Machine Images (AMIs) adalah gambar mesin khusus untuk beban kerja pembelajaran mesin terdistribusi dan komputasi berkinerja tinggi. Setiap AMI dilengkapi dengan driver, kerangka kerja pembelajaran mesin, perpustakaan pelatihan, dan alat pemantauan kinerja. Dengan memperbarui versi AMI di klaster Anda, Anda dapat menggunakan versi terbaru dari komponen dan paket ini untuk pekerjaan dan alur kerja pelatihan Anda.

 Saat memperbarui versi AMI dalam klaster Anda, Anda memiliki opsi untuk segera memproses pembaruan, menjadwalkan pembaruan satu kali saja, atau menggunakan ekspresi cron untuk membuat jadwal berulang. Anda juga dapat memilih untuk memperbarui semua instance dalam grup instans atau hanya batch instance. Jika Anda memilih untuk memperbarui batch, Anda menetapkan persentase atau jumlah instance yang harus ditingkatkan SageMaker AI sekaligus. Jika Anda menggunakan metode pembaruan ini, Anda menetapkan interval berapa lama SageMaker AI harus menunggu di antara batch.

Jika Anda memilih untuk memperbarui dalam batch, Anda juga dapat menyertakan daftar alarm dan metrik. Selama interval tunggu, SageMaker AI mengamati metrik ini dan jika ada yang melebihi ambang batasnya, alarm yang sesuai masuk ke status ALARM, dan SageMaker AI memutar kembali pembaruan AMI. Untuk memanfaatkan rollback otomatis, peran eksekusi IAM Anda harus memiliki izin. `cloudwatch:DescribeAlarms`

**catatan**  
Memperbarui cluster Anda dalam batch hanya tersedia untuk HyperPod cluster yang terintegrasi dengan Amazon EKS. Selain itu, jika Anda membuat beberapa jadwal, kami sarankan Anda memiliki buffer waktu di antara jadwal. Jika jadwal tumpang tindih, pembaruan mungkin gagal.

Untuk informasi selengkapnya tentang setiap rilis AMI untuk HyperPod klaster Anda, lihat[Amazon SageMaker HyperPod AMI](sagemaker-hyperpod-release-ami.md). Untuk informasi selengkapnya tentang HyperPod rilis umum, lihat[Catatan SageMaker HyperPod rilis Amazon](sagemaker-hyperpod-release-notes.md).

Anda dapat menggunakan operasi SageMaker AI API atau CLI untuk memperbarui klaster Anda atau melihat pembaruan terjadwal untuk klaster tertentu. Jika Anda menggunakan AWS konsol, ikuti langkah-langkah berikut:

**catatan**  
Memperbarui AMI Anda dengan AWS konsol hanya tersedia untuk cluster yang terintegrasi dengan Amazon EKS. Jika Anda memiliki cluster Slurm, Anda harus menggunakan operasi SageMaker AI API atau CLI.

1. Buka konsol Amazon SageMaker AI di [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Di sebelah kiri, perluas **HyperPod Cluster**, dan pilih **Manajemen Cluster**.

1. Pilih cluster yang ingin Anda perbarui, lalu pilih **Detail**, dan **Perbarui AMI**.



Untuk membuat dan mengelola jadwal pembaruan secara terprogram, gunakan operasi API berikut:
+ [CreateCluster](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCluster.html)— buat cluster sambil menentukan jadwal pembaruan
+ [UpdateCluster](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html)— perbarui cluster untuk menambahkan jadwal pembaruan
+ [ UpdateClusterSoftware](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateClusterSoftware.html)— untuk memperbarui perangkat lunak platform cluster
+ [ DescribeCluster](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeCluster.html)— lihat jadwal pembaruan yang Anda buat untuk klaster
+ [DescribeClusterNode](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeClusterNode.html)dan [ListClusterNodes](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListClusterNodes.html)— lihat kapan cluster terakhir diperbarui.

## Izin yang diperlukan
<a name="sagemaker-hyperpod-release-ami-update-permissions"></a>

Bergantung pada cara Anda mengonfigurasi [Anggaran Gangguan Pod](https://kubernetes.io/docs/tasks/run-application/configure-pdb/) di klaster Amazon EKS Anda, HyperPod mengusir pod, melepaskan node, dan mencegah penjadwalan pembaruan apa pun selama proses pembaruan AMI. Jika ada kendala dalam anggaran yang dilanggar, HyperPod lewati node tersebut selama pembaruan AMI. SageMaker HyperPod Untuk mengusir pod dengan benar, Anda harus menambahkan izin yang diperlukan ke peran terkait layanan. HyperPod File yaml berikut memiliki izin yang diperlukan.

```
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: hyperpod-patching
rules:
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["list"]
- apiGroups: [""]
  resources: ["pods/eviction"]
  verbs: ["create"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: hyperpod-patching
subjects:
- kind: User
  name: hyperpod-service-linked-role
roleRef:
  kind: ClusterRole
  name: hyperpod-patching
  apiGroup: rbac.authorization.k8s.io
```

Gunakan perintah berikut untuk menerapkan izin.

```
git clone https://github.com/aws/sagemaker-hyperpod-cli.git 

cd sagemaker-hyperpod-cli/helm_chart

helm upgrade hyperpod-dependencies HyperPodHelmChart --namespace kube-system --install
```

## Ekspresi Cron
<a name="sagemaker-hyperpod-release-ami-update-cron"></a>

Untuk mengonfigurasi pembaruan satu kali pada waktu tertentu atau jadwal berulang, gunakan ekspresi cron. Ekspresi cron mendukung enam bidang dan dipisahkan oleh spasi putih. Semua enam bidang diperlukan.

```
cron({{Minutes}} {{Hours}} {{Day-of-month}} {{Month}} {{Day-of-week}} {{Year}})
```


| **Bidang** | **Nilai-nilai** | **Wildcard** | 
| --- | --- | --- | 
| Menit | 00 — 59 | N/A | 
| Jam | 00 — 23 | N/A | 
| D ay-of-month | 01 — 31 | ? | 
| Bulan | 01 — 12 | \* / | 
| D ay-of-week | 1 — 7 atau SENIN-SUN | ? \# L | 
| Tahun | Tahun berjalan — 2099 | \* | 

**Wildcard**
+ Wildcard **\*** (bintang) mencakup semua nilai di bidang. Di kolom `Hours`, **\*** akan mencakup setiap jam.
+ Wildcard **/** (garis miring) menentukan tambahan. Di `Months` bidang, Anda bisa masuk **\*/3** untuk menentukan setiap bulan ke-3.
+ Wildcard **?** (tanda tanya) menentukan satu atau yang lain. **Di `Day-of-month` lapangan Anda bisa masuk **7**, dan jika Anda tidak peduli hari apa dalam minggu ketujuh, Anda bisa masuk?** di Day-of-week lapangan.
+ Wildcard **L** di bidang `day-of-week` or menentukan hari terakhir bulan atau minggu. Misalnya, `5L` berarti Jumat terakhir setiap bulan.
+ Wildcard **\#** di ay-of-week bidang menentukan contoh tertentu dari hari yang ditentukan dalam seminggu dalam sebulan. Sebagai contoh, 3\#2 akan menjadi hari Selasa kedua setiap bulan: 3 mengacu pada hari Selasa karena itu adalah hari ketiga setiap minggu, dan 2 mengacu pada hari kedua dari jenis tersebut dalam bulan tersebut.

Anda dapat menggunakan ekspresi cron untuk skenario berikut:
+ Jadwal satu kali yang berjalan pada waktu dan hari tertentu. Anda dapat menggunakan `?` wildcard untuk menunjukkan itu day-of-month atau day-of-week tidak masalah.

  ```
  cron(30 14 ? 12 MON 2024)
  ```

  ```
  cron(30 14 15 12 ? 2024)
  ```
+ Jadwal mingguan yang berjalan pada waktu dan hari tertentu. Contoh berikut membuat jadwal yang berjalan pada pukul 12:00 siang setiap hari Senin terlepas dari. day-of-month

  ```
  cron(00 12 ? * 1 *)
  ```
+ Jadwal bulanan yang berjalan setiap bulan terlepas dari day-of-week. Jadwal berikut berjalan pada pukul 12:30 pada tanggal 15 setiap bulan.

  ```
  cron(30 12 15 * ? *)
  ```
+ Jadwal bulanan yang menggunakan day-of-week.

  ```
  cron(30 12 ? * MON *)
  ```
+ Untuk membuat jadwal yang berjalan setiap bulan ke-N, gunakan `/` wildcard. Contoh berikut membuat jadwal bulanan yang berjalan setiap 3 bulan. Dua contoh berikut menunjukkan cara kerjanya dengan day-of-week dan day-of-month.

  ```
  cron(30 12 15 */3 ? *)
  ```

  ```
  cron(30 12 ? */3 MON *)
  ```
+ Jadwal yang berjalan pada contoh tertentu dari hari yang ditentukan dalam seminggu. Contoh berikut membuat jadwal yang berjalan pada pukul 12:30 pada hari Senin kedua setiap bulan.

  ```
  cron(30 12 ? * 1#2 *)
  ```
+ Jadwal yang berjalan pada contoh terakhir dari hari yang ditentukan dalam seminggu. Jadwal berikut berjalan pada pukul 12:30 pada hari Senin terakhir setiap bulan.

  ```
  cron(30 12 ? * 1L *)
  ```