

 **Bantu tingkatkan halaman ini** 

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

Untuk berkontribusi pada panduan pengguna ini, pilih **Edit halaman ini pada GitHub** tautan yang terletak di panel kanan setiap halaman.

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

# Menskalakan Pod CoreDNS untuk lalu lintas DNS tinggi
<a name="coredns-autoscaling"></a>

Saat Anda meluncurkan klaster Amazon EKS dengan setidaknya satu node, Deployment dua replika image CoreDNS akan diterapkan secara default, terlepas dari jumlah node yang digunakan di cluster Anda. Pod-pod CoreDNS menyediakan resolusi nama untuk semua Pod di dalam klaster. Aplikasi menggunakan resolusi nama untuk terhubung ke pod dan layanan di cluster serta menghubungkan ke layanan di luar cluster. Karena jumlah permintaan untuk resolusi nama (kueri) dari pod meningkat, Pod CoreDNS bisa kewalahan dan melambat, dan menolak permintaan yang tidak dapat ditangani oleh Pod.

Untuk menangani peningkatan beban pada pod CoreDNS, pertimbangkan sistem penskalaan otomatis untuk CoreDNS. Amazon EKS dapat mengelola penskalaan otomatis Penerapan CoreDNS di CoreDNS versi Eks Add-on. Autoscaler CoreDNS ini terus memantau status cluster, termasuk jumlah node dan core CPU. Berdasarkan informasi tersebut, pengontrol akan secara dinamis menyesuaikan jumlah replika penerapan CoreDNS di cluster EKS. Fitur ini berfungsi untuk `v1.9` CoreDNS dan yang lebih baru. Untuk informasi selengkapnya tentang versi mana yang kompatibel dengan CoreDNS Autoscaling, lihat bagian berikut.

Sistem secara otomatis mengelola replika CoreDNS menggunakan rumus dinamis berdasarkan jumlah node dan inti CPU di cluster, dihitung sebagai maksimum (dibagi 16) dan numberOfNodes (CPUCores numberOf dibagi 256). Ini mengevaluasi permintaan selama periode puncak 10 menit, segera ditingkatkan saat diperlukan untuk menangani peningkatan beban kueri DNS, sambil menurunkan skala secara bertahap dengan mengurangi replika sebesar 33% setiap 3 menit untuk menjaga stabilitas sistem dan menghindari gangguan.

Kami merekomendasikan penggunaan fitur ini bersama dengan [praktik terbaik Penskalaan Otomatis Kluster EKS lainnya untuk meningkatkan ketersediaan aplikasi secara keseluruhan dan skalabilitas](https://aws.github.io/aws-eks-best-practices/cluster-autoscaling/) klaster.

## Prasyarat
<a name="coredns-autoscaling-prereqs"></a>

Agar Amazon EKS dapat menskalakan penerapan CoreDNS Anda, ada tiga prasyarat:
+ Anda harus menggunakan versi Eks *Add-on* dari CoreDNS.
+ Cluster Anda harus menjalankan setidaknya versi cluster minimum dan versi platform.
+ Cluster Anda harus menjalankan setidaknya versi minimum Eks Add-on CoreDNS.

### Versi cluster minimum
<a name="coredns-autoscaling-cluster-version"></a>

Autoscaling CoreDNS dilakukan oleh komponen baru di bidang kontrol cluster, yang dikelola oleh Amazon EKS. Karena itu, Anda harus memutakhirkan cluster Anda ke rilis EKS yang mendukung versi platform minimum yang memiliki komponen baru.

Cluster Amazon EKS baru. Untuk menyebarkan satu, lihat[Memulai dengan Amazon EKS](getting-started.md). Cluster harus menjalankan salah satu versi Kubernetes dan versi platform yang tercantum dalam tabel berikut atau versi yang lebih baru. Perhatikan bahwa versi Kubernetes dan platform yang lebih lambat dari yang terdaftar juga didukung. Anda dapat memeriksa versi Kubernetes Anda saat ini dengan mengganti *my-cluster* perintah berikut dengan nama cluster Anda dan kemudian menjalankan perintah yang dimodifikasi:

```
aws eks describe-cluster --name my-cluster --query cluster.version --output text
```


| Versi Kubernetes | Versi platform | 
| --- | --- | 
|  Tidak Terdaftar  |  Semua Versi Platform  | 
|   `1.29.3`   |   `eks.7`   | 
|   `1.28.8`   |   `eks.13`   | 
|   `1.27.12`   |   `eks.17`   | 
|   `1.26.15`   |   `eks.18`   | 

**catatan**  
Setiap versi platform dari versi Kubernetes yang lebih baru juga didukung, misalnya versi Kubernetes dari dan seterusnya. `1.30` `eks.1`

### Versi pengaya Minimum EKS
<a name="coredns-autoscaling-coredns-version"></a>


| Versi Kubernetes | 1.29 | 1.28 | 
| --- | --- | --- | 
|  |   `v1.11.1-eksbuild.9`   |   `v1.10.1-eksbuild.11`   | 

#### Mengkonfigurasi penskalaan otomatis CoreDNS di Konsol Manajemen AWS
<a name="coredns-autoscaling-console"></a>

1. Pastikan klaster Anda berada pada atau di atas versi cluster minimum.

   Amazon EKS meningkatkan cluster antara versi platform dari versi Kubernetes yang sama secara otomatis, dan Anda tidak dapat memulai proses ini sendiri. Sebagai gantinya, Anda dapat meng-upgrade cluster Anda ke versi Kubernetes berikutnya, dan cluster akan ditingkatkan ke versi K8s dan versi platform terbaru.

   Versi Kubernetes baru terkadang memperkenalkan perubahan signifikan. Oleh karena itu, kami menyarankan Anda menguji perilaku aplikasi Anda dengan menggunakan klaster terpisah dari versi Kubernetes baru sebelum Anda memperbarui cluster produksi Anda.

   Untuk meng-upgrade klaster ke versi Kubernetes baru, ikuti prosedur di [Update cluster yang ada ke versi Kubernetes baru](update-cluster.md).

1. Pastikan Anda memiliki Pengaya EKS untuk CoreDNS, bukan Penerapan CoreDNS yang dikelola sendiri.

   Bergantung pada alat yang digunakan untuk membuat klaster, saat ini Anda mungkin tidak menginstal jenis add-on Amazon EKS di cluster Anda. Untuk melihat jenis add-on yang diinstal pada cluster Anda, Anda dapat menjalankan perintah berikut. Ganti `my-cluster` dengan nama klaster Anda.

   ```
   aws eks describe-addon --cluster-name my-cluster --addon-name coredns --query addon.addonVersion --output text
   ```

   Jika nomor versi dikembalikan, Anda memiliki jenis add-on Amazon EKS yang diinstal pada cluster Anda dan Anda dapat melanjutkan ke langkah berikutnya. Jika kesalahan dikembalikan, Anda tidak memiliki jenis add-on Amazon EKS yang diinstal pada cluster Anda. Selesaikan langkah-langkah prosedur yang tersisa [Buat add-on CoreDNS Amazon](coredns-add-on-create.md) EKS untuk mengganti versi yang dikelola sendiri dengan add-on Amazon EKS.

1. Pastikan bahwa Pengaya EKS Anda untuk CoreDNS memiliki versi yang sama atau lebih tinggi dari versi Pengaya EKS minimum.

   Lihat versi add-on mana yang diinstal pada cluster Anda. Anda dapat memeriksa Konsol Manajemen AWS atau menjalankan perintah berikut:

   ```
   kubectl describe deployment coredns --namespace kube-system | grep coredns: | cut -d : -f 3
   ```

   Contoh output adalah sebagai berikut.

   ```
   v1.10.1-eksbuild.13
   ```

   Bandingkan versi ini dengan versi Pengaya EKS minimum di bagian sebelumnya. Jika perlu, tingkatkan Eks Add-on ke versi yang lebih tinggi dengan mengikuti prosedur [Perbarui add-on CoreDNS](coredns-add-on-update.md) Amazon EKS.

1. Tambahkan konfigurasi penskalaan otomatis ke **pengaturan konfigurasi Opsional** dari Eks Add-on.

   1. Buka [konsol Amazon EKS](https://console.aws.amazon.com/eks/home#/clusters).

   1. Di panel navigasi kiri, pilih **Clusters**, lalu pilih nama cluster yang ingin Anda konfigurasikan add-on.

   1. Pilih tab **Add-ons**.

   1. **Pilih kotak di kanan atas kotak add-on CoreDNS dan kemudian pilih Edit.**

   1. Pada halaman **Konfigurasi CoreDNS**:

      1. Pilih **Versi** yang ingin Anda gunakan. Kami menyarankan Anda menyimpan versi yang sama dengan langkah sebelumnya, dan memperbarui versi dan konfigurasi dalam tindakan terpisah.

      1. Perluas **pengaturan konfigurasi opsional**.

      1. **Masukkan kunci JSON `"autoscaling":` dan nilai objek JSON bersarang dengan kunci `"enabled":` dan nilai `true` dalam nilai Konfigurasi.** Teks yang dihasilkan harus berupa objek JSON yang valid. Jika kunci dan nilai ini adalah satu-satunya data dalam kotak teks, kelilingi kunci dan nilai dengan kurawal kurawal. `{ }` Contoh berikut menunjukkan penskalaan otomatis diaktifkan:

         ```
         {
           "autoScaling": {
             "enabled": true
           }
         }
         ```

      1. (Opsional) Anda dapat memberikan nilai minimum dan maksimum yang penskalaan otomatis dapat menskalakan jumlah pod CoreDNS.

         Contoh berikut menunjukkan penskalaan otomatis diaktifkan dan semua kunci opsional memiliki nilai. Kami merekomendasikan bahwa jumlah minimum pod CoreDNS selalu lebih besar dari 2 untuk memberikan ketahanan bagi layanan DNS di klaster.

         ```
         {
           "autoScaling": {
             "enabled": true,
             "minReplicas": 2,
             "maxReplicas": 10
           }
         }
         ```

   1. **Untuk menerapkan konfigurasi baru dengan mengganti pod CoreDNS, pilih Simpan perubahan.**

      Amazon EKS menerapkan perubahan pada Add-on EKS dengan menggunakan *peluncuran Deployment Kubernetes* untuk CoreDNS. Anda dapat melacak status peluncuran dalam **riwayat Pembaruan** add-on di dan dengan Konsol Manajemen AWS . `kubectl rollout status deployment/coredns --namespace kube-system`

       `kubectl rollout`memiliki perintah berikut:

      ```
      kubectl rollout
      
      history  -- View rollout history
      pause    -- Mark the provided resource as paused
      restart  -- Restart a resource
      resume   -- Resume a paused resource
      status   -- Show the status of the rollout
      undo     -- Undo a previous rollout
      ```

      **Jika peluncuran terlalu lama, Amazon EKS akan membatalkan peluncuran, dan pesan dengan jenis Pembaruan **Addon dan status **Gagal** akan ditambahkan ke riwayat Pembaruan add-on**.** Untuk menyelidiki masalah apa pun, mulailah dari riwayat peluncuran, dan jalankan `kubectl logs` di pod CoreDNS untuk melihat log CoreDNS.

1. Jika entri baru dalam **riwayat Pembaruan** memiliki status **Sukses**, maka peluncuran telah selesai dan add-on menggunakan konfigurasi baru di semua pod CoreDNS. Saat Anda mengubah jumlah node dan inti CPU node di cluster, Amazon EKS menskalakan jumlah replika penerapan CoreDNS.

#### Mengkonfigurasi penskalaan otomatis CoreDNS di Antarmuka Baris Perintah AWS
<a name="coredns-autoscaling-cli"></a>

1. Pastikan klaster Anda berada pada atau di atas versi cluster minimum.

   Amazon EKS meningkatkan cluster antara versi platform dari versi Kubernetes yang sama secara otomatis, dan Anda tidak dapat memulai proses ini sendiri. Sebagai gantinya, Anda dapat meng-upgrade cluster Anda ke versi Kubernetes berikutnya, dan cluster akan ditingkatkan ke versi K8s dan versi platform terbaru.

   Versi Kubernetes baru terkadang memperkenalkan perubahan signifikan. Oleh karena itu, kami menyarankan Anda menguji perilaku aplikasi Anda dengan menggunakan klaster terpisah dari versi Kubernetes baru sebelum Anda memperbarui cluster produksi Anda.

   Untuk meng-upgrade klaster ke versi Kubernetes baru, ikuti prosedur di [Update cluster yang ada ke versi Kubernetes baru](update-cluster.md).

1. Pastikan Anda memiliki Pengaya EKS untuk CoreDNS, bukan Penerapan CoreDNS yang dikelola sendiri.

   Bergantung pada alat yang digunakan untuk membuat klaster, saat ini Anda mungkin tidak menginstal jenis add-on Amazon EKS di cluster Anda. Untuk melihat jenis add-on yang diinstal pada cluster Anda, Anda dapat menjalankan perintah berikut. Ganti `my-cluster` dengan nama klaster Anda.

   ```
   aws eks describe-addon --cluster-name my-cluster --addon-name coredns --query addon.addonVersion --output text
   ```

   Jika nomor versi dikembalikan, Anda memiliki jenis add-on Amazon EKS yang diinstal pada cluster Anda. Jika kesalahan dikembalikan, Anda tidak memiliki jenis add-on Amazon EKS yang diinstal pada cluster Anda. Selesaikan langkah-langkah prosedur yang tersisa [Buat add-on CoreDNS Amazon](coredns-add-on-create.md) EKS untuk mengganti versi yang dikelola sendiri dengan add-on Amazon EKS.

1. Pastikan bahwa Pengaya EKS Anda untuk CoreDNS memiliki versi yang sama atau lebih tinggi dari versi Pengaya EKS minimum.

   Lihat versi add-on mana yang diinstal pada cluster Anda. Anda dapat memeriksa Konsol Manajemen AWS atau menjalankan perintah berikut:

   ```
   kubectl describe deployment coredns --namespace kube-system | grep coredns: | cut -d : -f 3
   ```

   Contoh output adalah sebagai berikut.

   ```
   v1.10.1-eksbuild.13
   ```

   Bandingkan versi ini dengan versi Pengaya EKS minimum di bagian sebelumnya. Jika perlu, tingkatkan Eks Add-on ke versi yang lebih tinggi dengan mengikuti prosedur [Perbarui add-on CoreDNS](coredns-add-on-update.md) Amazon EKS.

1. Tambahkan konfigurasi penskalaan otomatis ke **pengaturan konfigurasi Opsional** dari Eks Add-on.

   Jalankan perintah AWS CLI berikut. Ganti `my-cluster` dengan nama cluster Anda dan peran IAM ARN dengan peran yang Anda gunakan.

   ```
   aws eks update-addon --cluster-name my-cluster --addon-name coredns \
       --resolve-conflicts PRESERVE --configuration-values '{"autoScaling":{"enabled":true}}'
   ```

   Amazon EKS menerapkan perubahan pada Add-on EKS dengan menggunakan *peluncuran Deployment Kubernetes* untuk CoreDNS. Anda dapat melacak status peluncuran dalam **riwayat Pembaruan** add-on di dan dengan Konsol Manajemen AWS . `kubectl rollout status deployment/coredns --namespace kube-system`

    `kubectl rollout`memiliki perintah berikut:

   ```
   kubectl rollout
   
   history  -- View rollout history
   pause    -- Mark the provided resource as paused
   restart  -- Restart a resource
   resume   -- Resume a paused resource
   status   -- Show the status of the rollout
   undo     -- Undo a previous rollout
   ```

   **Jika peluncuran terlalu lama, Amazon EKS akan membatalkan peluncuran, dan pesan dengan jenis Pembaruan **Addon dan status **Gagal** akan ditambahkan ke riwayat Pembaruan add-on**.** Untuk menyelidiki masalah apa pun, mulailah dari riwayat peluncuran, dan jalankan `kubectl logs` di pod CoreDNS untuk melihat log CoreDNS.

1. (Opsional) Anda dapat memberikan nilai minimum dan maksimum yang penskalaan otomatis dapat menskalakan jumlah pod CoreDNS.

   Contoh berikut menunjukkan penskalaan otomatis diaktifkan dan semua kunci opsional memiliki nilai. Kami merekomendasikan bahwa jumlah minimum pod CoreDNS selalu lebih besar dari 2 untuk memberikan ketahanan bagi layanan DNS di klaster.

   ```
   aws eks update-addon --cluster-name my-cluster --addon-name coredns \
       --resolve-conflicts PRESERVE --configuration-values '{"autoScaling":{"enabled":true,"minReplicas":2,"maxReplicas":10}}'
   ```

1. Periksa status pembaruan ke add-on dengan menjalankan perintah berikut:

   ```
   aws eks describe-addon --cluster-name my-cluster --addon-name coredns
   ```

   Jika Anda melihat baris ini:`"status": "ACTIVE"`, maka peluncuran telah selesai dan add-on menggunakan konfigurasi baru di semua pod CoreDNS. Saat Anda mengubah jumlah node dan inti CPU node di cluster, Amazon EKS menskalakan jumlah replika penerapan CoreDNS.