Bantu meningkatkan 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 GitHub tautan Edit halaman ini di 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
Saat Anda meluncurkan cluster Amazon EKS dengan setidaknya satu node, Deployment dua replika image CoreDNS digunakan 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. Seiring bertambahnya jumlah permintaan untuk resolusi nama (query) dari pod, pod CoreDNS dapat kewalahan dan melambat, serta 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 dari Deployment CoreDNS di CoreDNS Add-on versi EKS. Autoscaler CoreDNS ini terus memantau status cluster, termasuk jumlah node dan inti CPU. Berdasarkan informasi itu, pengontrol akan secara dinamis menyesuaikan jumlah replika penyebaran CoreDNS di cluster EKS. Fitur ini berfungsi untuk CoreDNS v1.9 dan yang lebih baru. Untuk informasi selengkapnya tentang versi mana yang kompatibel dengan CoreDNS Autoscaling, lihat bagian berikut.
Secara default, sistem secara otomatis mengelola replika CoreDNS menggunakan rumus dinamis berdasarkan jumlah node dan inti CPU di cluster. Rumus menghitung maksimum (numberOfNodesdibagi 16) dan (numberOfCPUCoresdibagi 256). Sistem mengevaluasi permintaan selama periode puncak 10 menit dan segera meningkatkan skala saat diperlukan untuk menangani peningkatan beban kueri DNS. Sistem menurun secara bertahap dengan mengurangi replika sebesar 33% setiap 3 menit untuk menjaga stabilitas sistem dan menghindari gangguan.
Anda dapat menyesuaikan parameter nodesPerReplica dan cpuCoresPerReplica penskalaan melalui Add-on konfigurasi EKS:
-
nodesPerReplica: Jumlah node per replika CoreDNS. Nilai default-nya16. Nilai yang lebih kecil meningkatkan jumlah replika yang dipertahankan autoscaling untuk sejumlah node tertentu. -
cpuCoresPerReplica: Jumlah core CPU per replika CoreDNS. Nilai default-nya256. Nilai yang lebih kecil meningkatkan jumlah replika yang dipertahankan autoscaling untuk sejumlah inti CPU tertentu.
Penskalaan otomatis menggunakan yang lebih besar dari dua jumlah replika yang dihitung dan menjepit hasilnya di antara minReplicas danmaxReplicas. Untuk menggunakan nodesPerReplica ataucpuCoresPerReplica, CoreDNS Anda Add-on harus berada pada versi minimum untuk versi Kubernetes cluster Anda. Untuk informasi selengkapnya, lihat Add-on Versi EKS Minimum untuk parameter penskalaan lanjutan.
Sebaiknya gunakan fitur ini bersama dengan praktik terbaik EKS Cluster Autoscaling lainnya
Prasyarat
Agar Amazon EKS dapat menskalakan penerapan CoreDNS Anda, Anda harus memenuhi prasyarat berikut:
-
Anda harus menggunakan Core DNS Add-on versi EKS.
-
Untuk mengkonfigurasi
nodesPerReplicaataucpuCoresPerReplica, Anda harus menggunakan versi CoreDNS minimum berdasarkan Add-on versi Kubernetes cluster Anda, seperti yang ditunjukkan pada bagian berikut.
Add-on Versi EKS minimum untuk parameter penskalaan lanjutan
Tabel berikut mencantumkan versi CoreDNS minimum yang diperlukan untuk setiap Add-on versi Kubernetes untuk menggunakan parameter penskalaan dan. nodesPerReplica cpuCoresPerReplica
| Versi Kubernetes | Versi CoreDNS |
|---|---|
|
1.36 |
v1.14.3-eksbuild.16 |
|
1.35 |
v1.14.3-eksbuild.16 |
|
1.34 |
v1.13.2-eksbuild.24 |
|
1.33 |
v1.12.4-eksbuild.31 |
|
1.32 |
v1.11.4-eksbuild.53 |
|
1.31 |
v1.11.4-eksbuild.53 |
-
Pastikan Anda memiliki EKS Add-on untuk CoreDNS, bukan Penyebaran CoreDNS yang dikelola sendiri.
Bergantung pada alat yang Anda gunakan untuk membuat cluster, Anda mungkin tidak memiliki jenis add-on Amazon EKS yang diinstal pada cluster Anda saat ini. Untuk melihat jenis add-on yang diinstal pada cluster Anda, Anda dapat menjalankan perintah berikut. Ganti
my-clusterdengan nama klaster Anda.aws eks describe-addon --cluster-name my-cluster --addon-name coredns --query addon.addonVersion --output textJika nomor versi dikembalikan, Anda memiliki jenis add-on Amazon EKS yang diinstal pada cluster Anda dan Anda dapat melanjutkan 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 EKS untuk mengganti versi yang dikelola sendiri dengan add-on Amazon EKS.
-
Pastikan EKS Anda Add-on untuk CoreDNS berada pada versi yang sama atau lebih tinggi dari versi EKS Add-on 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 3Contoh output adalah sebagai berikut.
v1.10.1-eksbuild.13Bandingkan versi ini dengan Add-on versi EKS minimum di bagian sebelumnya. Jika perlu, tingkatkan EKS Add-on ke versi yang lebih tinggi dengan mengikuti prosedur Per barui add-on CoreDNS Amazon EKS.
-
Tambahkan konfigurasi penskalaan otomatis ke pengaturan konfigurasi Opsional EKS Add-on.
-
Buka konsol Amazon EKS
. -
Di panel navigasi kiri, pilih Cluster, lalu pilih nama cluster yang ingin Anda konfigurasi add-on.
-
Pilih Add-ons tab.
-
Pilih kotak di kanan atas kotak add-on CoreDNS lalu pilih Edit.
-
Pada halaman Konfigurasi CoreDNS:
-
Pilih versi yang ingin Anda gunakan. Kami menyarankan Anda menyimpan versi yang sama seperti langkah sebelumnya, dan memperbarui versi dan konfigurasi dalam tindakan terpisah.
-
Perluas pengaturan konfigurasi opsional.
-
Masukkan kunci JSON
"autoscaling":dan nilai objek JSON bersarang dengan kunci"enabled":dan nilaitruedalam 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 kurung kurung{ }. Contoh berikut menunjukkan penskalaan otomatis diaktifkan:{ "autoScaling": { "enabled": true } }Contoh berikut menunjukkan penskalaan otomatis diaktifkan dengan nilai replika minimum dan maksimum. Sebaiknya jumlah minimum pod CoreDNS selalu lebih besar dari 2 untuk memberikan ketahanan bagi layanan DNS di cluster.
{ "autoScaling": { "enabled": true, "minReplicas": 2, "maxReplicas": 10 } }Contoh berikut juga menetapkan parameter
cpuCoresPerReplicapenskalaannodesPerReplicadan. Tombol-kunci ini memerlukan versi CoreDNS Add-on minimum. Untuk informasi selengkapnya, lihat Add-on Versi EKS Minimum untuk parameter penskalaan lanjutan.{ "autoScaling": { "enabled": true, "minReplicas": 2, "maxReplicas": 10, "nodesPerReplica": 5, "cpuCoresPerReplica": 256 } }
-
-
Untuk menerapkan konfigurasi baru dengan mengganti pod CoreDNS, pilih S impan perubahan.
Amazon EKS menerapkan perubahan pada EKS Add-ons dengan menggunakan pel uncuran Deplo yment Kubernetes untuk CoreDNS. Anda dapat melacak status peluncuran di ri wayat pembaruan add-on di Konsol Manajemen AWS dan dengan
kubectl rollout status deployment/coredns --namespace kube-system.kubectl rolloutmemiliki 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 rolloutJika peluncuran memakan waktu terlalu lama, Amazon EKS akan membatalkan peluncuran, dan pesan dengan jenis Pembaruan Addon dan status Gagal akan ditambahkan ke riwayat Pem baruan add-on. Untuk menyelidiki masalah apa pun, mulailah dari riwayat peluncuran, dan jalankan
kubectl logspada pod CoreDNS untuk melihat log CoreDNS.
-
-
Jika entri baru dalam riwayat Pembaruan memiliki status Ber hasil, 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.
-
Pastikan Anda memiliki EKS Add-on untuk CoreDNS, bukan Penyebaran CoreDNS yang dikelola sendiri.
Bergantung pada alat yang Anda gunakan untuk membuat cluster, Anda mungkin tidak memiliki jenis add-on Amazon EKS yang diinstal pada cluster Anda saat ini. Untuk melihat jenis add-on yang diinstal pada cluster Anda, Anda dapat menjalankan perintah berikut. Ganti
my-clusterdengan nama klaster Anda.aws eks describe-addon --cluster-name my-cluster --addon-name coredns --query addon.addonVersion --output textJika 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 EKS untuk mengganti versi yang dikelola sendiri dengan add-on Amazon EKS.
-
Pastikan EKS Anda Add-on untuk CoreDNS berada pada versi yang sama atau lebih tinggi dari versi EKS Add-on 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 3Contoh output adalah sebagai berikut.
v1.10.1-eksbuild.13Bandingkan versi ini dengan Add-on versi EKS minimum di bagian sebelumnya. Jika perlu, tingkatkan EKS Add-on ke versi yang lebih tinggi dengan mengikuti prosedur Per barui add-on CoreDNS Amazon EKS.
-
Tambahkan konfigurasi penskalaan otomatis ke pengaturan konfigurasi Opsional EKS Add-on.
Jalankan perintah AWS CLI berikut. Ganti
my-clusterdengan 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 EKS Add-ons dengan menggunakan pel uncuran Deplo yment Kubernetes untuk CoreDNS. Anda dapat melacak status peluncuran di ri wayat pembaruan add-on di Konsol Manajemen AWS dan dengan
kubectl rollout status deployment/coredns --namespace kube-system.kubectl rolloutmemiliki 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 rolloutJika peluncuran memakan waktu terlalu lama, Amazon EKS akan membatalkan peluncuran, dan pesan dengan jenis Pembaruan Addon dan status Gagal akan ditambahkan ke riwayat Pem baruan add-on. Untuk menyelidiki masalah apa pun, mulailah dari riwayat peluncuran, dan jalankan
kubectl logspada pod CoreDNS untuk melihat log CoreDNS. -
(Opsional) Anda dapat memberikan nilai minimum dan maksimum yang dapat dilakukan penskalaan otomatis dalam skala jumlah pod CoreDNS.
Contoh berikut menunjukkan penskalaan otomatis diaktifkan dengan nilai replika minimum dan maksimum. Sebaiknya jumlah minimum pod CoreDNS selalu lebih besar dari 2 untuk memberikan ketahanan bagi layanan DNS di cluster.
aws eks update-addon --cluster-name my-cluster --addon-name coredns \ --resolve-conflicts PRESERVE --configuration-values '{"autoScaling":{"enabled":true,"minReplicas":2,"maxReplicas":10}}' -
(Opsional) Anda juga dapat mengatur parameter
nodesPerReplicadan pencpuCoresPerReplicaskalaan. Tombol-kunci ini memerlukan versi CoreDNS Add-on minimum. Untuk informasi selengkapnya, lihat Add-on Versi EKS Minimum untuk parameter penskalaan lanjutan.aws eks update-addon --cluster-name my-cluster --addon-name coredns \ --resolve-conflicts PRESERVE --configuration-values '{"autoScaling":{"enabled":true,"minReplicas":2,"maxReplicas":10,"nodesPerReplica":5,"cpuCoresPerReplica":256}}' -
Periksa status pembaruan ke add-on dengan menjalankan perintah berikut:
aws eks describe-addon --cluster-name my-cluster --addon-name corednsJika 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.