Bantu tingkatkan halaman ini
Ingin berkontribusi pada panduan pengguna ini? Gulir ke bagian bawah halaman ini dan pilih Edit halaman ini GitHub. Kontribusi Anda akan membantu membuat panduan pengguna kami lebih baik untuk semua orang.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Penskalaan CoreDNSPods untuk DNS lalu lintas tinggi
Saat Anda meluncurkan EKS kluster Amazon dengan setidaknya satu node, Deployment dari dua replika dari CoreDNS image digunakan secara default, terlepas dari jumlah node yang digunakan di cluster Anda. Bagian CoreDNS Pod memberikan resolusi nama untuk semua Pod di cluster. 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, CoreDNS pod bisa kewalahan dan melambat, dan menolak permintaan yang tidak dapat ditangani oleh pod.
Untuk menangani peningkatan beban pada CoreDNS pod, pertimbangkan sistem penskalaan otomatis untuk CoreDNS. Amazon EKS dapat mengelola penskalaan otomatis CoreDNS Penerapan dalam versi EKS Add-on CoreDNS. Ini CoreDNS autoscaler terus memantau status cluster, termasuk jumlah node dan core. CPU Berdasarkan informasi tersebut, pengontrol akan secara dinamis menyesuaikan jumlah replika CoreDNS penyebaran dalam sebuah EKS cluster. Fitur ini berfungsi untuk CoreDNS v1.9
dan versi EKS rilis 1.25
dan yang lebih baru. Untuk informasi lebih lanjut tentang versi mana yang kompatibel CoreDNS Autoscaling, lihat bagian berikut.
Kami merekomendasikan penggunaan fitur ini bersama dengan praktik terbaik Penskalaan Otomatis EKS Cluster lainnya untuk meningkatkan ketersediaan aplikasi secara keseluruhan dan skalabilitas
Prasyarat
Agar Amazon dapat EKS menskalakan Anda CoreDNS penyebaran, ada tiga prasyarat:
-
Anda harus menggunakan versi EKSAdd-on 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
Penskalaan otomatis CoreDNS dilakukan oleh komponen baru di bidang kontrol cluster, yang dikelola oleh AmazonEKS. Karena itu, Anda harus memutakhirkan cluster Anda ke EKS rilis yang mendukung versi platform minimum yang memiliki komponen baru.
EKSCluster Amazon baru. Untuk menyebarkan satu, lihatMemulai dengan Amazon EKS. Cluster harus Kubernetes versi 1.25
atau yang lebih baru. Cluster harus menjalankan salah satu Kubernetes versi dan versi platform yang tercantum dalam tabel berikut atau versi yang lebih baru. Perhatikan bahwa setiap Kubernetes dan versi platform yang lebih lambat dari yang terdaftar juga didukung. Anda dapat memeriksa saat ini Kubernetes versi dengan mengganti my-cluster
dalam perintah berikut dengan nama cluster Anda dan kemudian menjalankan perintah yang dimodifikasi:
aws eks describe-cluster --name
my-cluster
--query cluster.version --output text
Kubernetes versi | Versi platform |
---|---|
|
|
|
|
|
|
|
|
|
|
catatan
Setiap versi platform nanti Kubernetes versi juga didukung, misalnya Kubernetes versi 1.30
dari eks.1
dan seterusnya.
Versi EKS Pengaya Minimum
Kubernetes versi | 1.29 |
1.28 |
1.27 |
1.26 |
1.25 |
---|---|---|---|---|---|
v1.11.1-eksbuild.9 |
v1.10.1-eksbuild.11 |
v1.10.1-eksbuild.11 |
v1.9.3-eksbuild.15 |
v1.9.3-eksbuild.15 |
-
Pastikan klaster Anda berada pada atau di atas versi cluster minimum.
Amazon EKS memutakhirkan cluster antara versi platform yang sama Kubernetes versi otomatis, dan Anda tidak dapat memulai proses ini sendiri. Sebagai gantinya, Anda dapat memutakhirkan cluster Anda ke yang berikutnya Kubernetes versi, dan cluster akan ditingkatkan ke versi K8s dan versi platform terbaru. Misalnya, jika Anda memutakhirkan dari
1.25
ke1.26
, cluster akan meningkatkan ke1.26.15 eks.18
.Baru Kubernetes versi terkadang memperkenalkan perubahan signifikan. Oleh karena itu, kami menyarankan Anda menguji perilaku aplikasi Anda dengan menggunakan cluster terpisah dari yang baru Kubernetes versi sebelum Anda memperbarui cluster produksi Anda.
Untuk meng-upgrade cluster ke yang baru Kubernetes versi, ikuti prosedur diPerbarui klaster yang ada ke versi Kubernetes baru.
-
Pastikan Anda memiliki EKSAdd-on untuk CoreDNS, bukan yang dikelola sendiri CoreDNS Penerapan.
Bergantung pada alat yang digunakan untuk membuat klaster, saat ini Anda mungkin tidak menginstal jenis EKS add-on Amazon di klaster 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 textJika nomor versi dikembalikan, Anda memiliki EKS jenis add-on Amazon yang diinstal pada cluster Anda dan Anda dapat melanjutkan dengan langkah berikutnya. Jika kesalahan dikembalikan, Anda tidak memiliki EKS jenis Amazon dari add-on yang diinstal pada cluster Anda. Selesaikan langkah-langkah prosedur yang tersisa Buat CoreDNS EKSPengaya Amazon untuk mengganti versi yang dikelola sendiri dengan EKS add-on Amazon.
-
Pastikan EKS Add-on Anda untuk CoreDNS 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 AWS Management Console 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 EKS Add-on minimum di bagian sebelumnya. Jika perlu, tingkatkan EKS Add-on ke versi yang lebih tinggi dengan mengikuti prosedurPerbarui CoreDNS EKSPengaya Amazon.
-
Tambahkan konfigurasi penskalaan otomatis ke pengaturan konfigurasi Opsional dari Add-on. EKS
Buka EKS konsol Amazon di https://console.aws.amazon.com/eks/rumah#/cluster
. -
Di panel navigasi kiri, pilih Clusters, lalu pilih nama cluster yang ingin Anda konfigurasikan add-on.
-
Pilih tab Add-ons.
-
Pilih kotak di kanan atas CoreDNS kotak add-on dan kemudian pilih Edit.
-
Pada Konfigurasi CoreDNShalaman:
-
Pilih Versi yang ingin Anda gunakan. Kami menyarankan Anda menyimpan versi yang sama dengan langkah sebelumnya, dan memperbarui versi dan konfigurasi dalam tindakan terpisah.
-
Perluas pengaturan konfigurasi opsional.
-
Masukkan JSON kunci
"autoscaling":
dan nilai JSON objek bersarang dengan kunci"enabled":
dan nilaitrue
dalam nilai Konfigurasi. Teks yang dihasilkan harus berupa JSON objek 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 } }
-
(Opsional) Anda dapat memberikan nilai minimum dan maksimum yang penskalaan otomatis dapat menskalakan jumlah CoreDNS polong ke.
Contoh berikut menunjukkan penskalaan otomatis diaktifkan dan semua kunci opsional memiliki nilai. Kami merekomendasikan bahwa jumlah minimum CoreDNS pod selalu lebih besar dari 2 untuk memberikan ketahanan untuk DNS layanan di cluster.
{ "autoScaling": { "enabled": true, "minReplicas": 2, "maxReplicas": 10 } }
-
-
Untuk menerapkan konfigurasi baru dengan mengganti CoreDNS pod, pilih Simpan perubahan.
Amazon EKS menerapkan perubahan pada EKS Add-on dengan menggunakan peluncuran Kubernetes Penerapan untuk CoreDNS. Anda dapat melacak status peluncuran dalam riwayat Pembaruan add-on di dan dengan AWS Management Console .
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 rolloutJika 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
CoreDNS pod untuk melihat log CoreDNS.
-
Jika entri baru dalam riwayat Pembaruan memiliki status Sukses, maka peluncuran telah selesai dan add-on menggunakan konfigurasi baru di semua CoreDNS polong. Saat Anda mengubah jumlah node dan CPU inti node di cluster, Amazon EKS menskalakan jumlah replika CoreDNS penyebaran.
-
Pastikan klaster Anda berada pada atau di atas versi cluster minimum.
Amazon EKS memutakhirkan cluster antara versi platform yang sama Kubernetes versi otomatis, dan Anda tidak dapat memulai proses ini sendiri. Sebagai gantinya, Anda dapat memutakhirkan cluster Anda ke yang berikutnya Kubernetes versi, dan cluster akan ditingkatkan ke versi K8s dan versi platform terbaru. Misalnya, jika Anda memutakhirkan dari
1.25
ke1.26
, cluster akan meningkatkan ke1.26.15 eks.18
.Baru Kubernetes versi terkadang memperkenalkan perubahan signifikan. Oleh karena itu, kami menyarankan Anda menguji perilaku aplikasi Anda dengan menggunakan cluster terpisah dari yang baru Kubernetes versi sebelum Anda memperbarui cluster produksi Anda.
Untuk meng-upgrade cluster ke yang baru Kubernetes versi, ikuti prosedur diPerbarui klaster yang ada ke versi Kubernetes baru.
-
Pastikan Anda memiliki EKSAdd-on untuk CoreDNS, bukan yang dikelola sendiri CoreDNS Penerapan.
Bergantung pada alat yang digunakan untuk membuat klaster, saat ini Anda mungkin tidak menginstal jenis EKS add-on Amazon di klaster 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 textJika nomor versi dikembalikan, Anda memiliki EKS jenis add-on Amazon yang diinstal pada cluster Anda. Jika kesalahan dikembalikan, Anda tidak memiliki EKS jenis Amazon dari add-on yang diinstal pada cluster Anda. Selesaikan langkah-langkah prosedur yang tersisa Buat CoreDNS EKSPengaya Amazon untuk mengganti versi yang dikelola sendiri dengan EKS add-on Amazon.
-
Pastikan EKS Add-on Anda untuk CoreDNS 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 AWS Management Console 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 EKS Add-on minimum di bagian sebelumnya. Jika perlu, tingkatkan EKS Add-on ke versi yang lebih tinggi dengan mengikuti prosedurPerbarui CoreDNS EKSPengaya Amazon.
-
Tambahkan konfigurasi penskalaan otomatis ke pengaturan konfigurasi Opsional dari Add-on. EKS
Jalankan AWS CLI perintah berikut. Ganti
my-cluster
dengan nama cluster Anda dan IAM peran 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-on dengan menggunakan peluncuran Kubernetes Penerapan untuk CoreDNS. Anda dapat melacak status peluncuran dalam riwayat Pembaruan add-on di dan dengan AWS Management Console .
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 rolloutJika 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
CoreDNS pod untuk melihat log CoreDNS. -
(Opsional) Anda dapat memberikan nilai minimum dan maksimum yang penskalaan otomatis dapat menskalakan jumlah CoreDNS polong ke.
Contoh berikut menunjukkan penskalaan otomatis diaktifkan dan semua kunci opsional memiliki nilai. Kami merekomendasikan bahwa jumlah minimum CoreDNS pod selalu lebih besar dari 2 untuk memberikan ketahanan untuk DNS layanan 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}}' -
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 CoreDNS polong. Saat Anda mengubah jumlah node dan CPU inti node di cluster, Amazon EKS menskalakan jumlah replika CoreDNS penyebaran.