Memahami penggusuran pod selama gangguan zona - AWS Bimbingan Preskriptif

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

Memahami penggusuran pod selama gangguan zona

Ketika gangguan Availability Zone penuh terjadi—yaitu, ketika semua node di Availability Zone kehilangan konektivitas ke bidang kontrol Kubernetes—pengontrol siklus hidup node di Kubernetes mendeteksi situasi dan mengusir pod dari zona yang terkena dampak. Pod pada node yang tidak dapat dijangkau ditandai sebagai Terminating dan pod baru dijadwalkan pada node sehat di Availability Zone yang tersedia. Selama periode ini, node yang terpengaruh menampilkan NotReady status, penjadwal mencegah pod baru ditempatkan pada node tersebut, dan EndpointSlice pengontrol menghapus titik akhir yang terkait dengan Zona Ketersediaan yang terganggu dari perutean layanan hingga konektivitas dipulihkan.

Untuk skenario yang melibatkan kegagalan sebagian node dalam zona — di mana hanya sebagian dari node yang tidak dapat dijangkau — pengontrol siklus hidup node menerapkan perilaku penggusuran yang berbeda. Jika gangguan berlanjut di luar periode toleransi yang dikonfigurasi (secara default, lima menit), pod pada node yang terputus akan ditandai sebagai Terminating dan pod baru dijadwalkan pada node sehat di Availability Zone yang tersedia.

Menerapkan pergeseran zona Amazon EKS untuk meningkatkan ketahanan

Amazon EKS zonal shift, yang terintegrasi dengan Amazon Application Recovery Controller (ARC), menyediakan mekanisme untuk secara proaktif mengelola lalu lintas selama gangguan Availability Zone. Kemampuan ini memungkinkan pengalihan sementara lalu lintas jaringan dari Availability Zone yang tidak sehat menuju zona sehat dalam hal yang sama Wilayah AWS untuk meminimalkan gangguan layanan.

Memahami mekanisme pergeseran zona

Amazon EKS zonal shift menangani lalu lintas timur-barat (komunikasi antar pod dalam cluster). Ketika zonal shift dikonfigurasi dengan Application Load Balancers atau Network Load Balancers, itu juga mendukung perutean lalu lintas masuk. Mekanisme ini beroperasi dengan mengoordinasikan beberapa komponen Kubernetes dan AWS mengendalikan pesawat untuk mengarahkan lalu lintas dengan aman tanpa mengganggu beban kerja yang sedang berjalan. Selama pergeseran zona aktif, Amazon EKS secara otomatis melakukan tindakan terkoordinasi berikut:

  • Node cordoning: Semua node di Availability Zone yang terganggu dikepung. Hal ini mencegah penjadwal Kubernetes menempatkan pod baru pada node sementara itu mempertahankan beban kerja yang ada.

  • Suspensi penyeimbangan ulang Availability Zone: Untuk grup node terkelola, operasi penyeimbangan ulang Availability Zone ditangguhkan, dan grup Auto Scaling diperbarui untuk meluncurkan node bidang data baru secara eksklusif di Availability Zone yang sehat. Ini memastikan bahwa kapasitas baru tidak disediakan di zona yang terganggu.

  • Penghapusan titik akhir: EndpointSlice Pengontrol menghapus titik akhir pod di Availability Zone yang terganggu dari semua yang relevan. EndpointSlices Ini memastikan bahwa mekanisme penemuan layanan dan penyeimbangan beban merutekan lalu lintas hanya ke pod yang berjalan di Availability Zone yang sehat.

  • Pelestarian beban kerja: Amazon EKS menahan diri dari menghentikan node atau mengusir pod di Availability Zone yang terpengaruh. Ini mempertahankan kapasitas penuh di zona yang terganggu sehingga ketika pergeseran zona berakhir atau dibatalkan, lalu lintas dapat kembali dengan aman tanpa memerlukan operasi penskalaan tambahan.

Metode aktivasi pergeseran zona

Anda dapat memilih dari dua pendekatan untuk memulai pergeseran zona, tergantung pada model operasional Anda:

  • Pergeseran zona manual memberikan kontrol berbasis operator saat masalah Availability Zone tertentu terdeteksi melalui pemantauan, peringatan, atau laporan pelanggan. Metode ini memerlukan tindakan eksplisit melalui konsol ARC, AWS Command Line Interface (AWS CLI), atau pergeseran zona APIs, di mana operator menentukan Zona Ketersediaan yang terganggu dan menentukan waktu kedaluwarsa untuk shift tersebut. Pergeseran manual sesuai ketika tim memiliki kemampuan pemantauan dan panggilan khusus dan lebih memilih untuk mempertahankan kontrol langsung atas keputusan manajemen lalu lintas.

  • Zonal autoshift memberi wewenang AWS untuk secara otomatis memulai shift ketika ARC mendeteksi potensi kegagalan atau gangguan Availability Zone berdasarkan telemetri internal dan sinyal kesehatan di beberapa, Layanan AWS termasuk metrik jaringan, Amazon Elastic Compute Cloud (Amazon), dan Elastic Load Balancing. EC2 AWS secara otomatis mengakhiri pergeseran otomatis ketika indikator menunjukkan bahwa masalah telah diselesaikan. Jika Anda menginginkan postur ketersediaan tertinggi dengan intervensi manual minimal, kami merekomendasikan pendekatan ini, karena memungkinkan respons sub-menit terhadap gangguan Availability Zone yang terdeteksi.

Prasyarat untuk pergeseran zona yang efektif

Agar pergeseran zona berhasil melindungi aplikasi selama gangguan Availability Zone, Anda harus merancang cluster Anda untuk ketahanan multi-AZ sebelum Anda mengaktifkan fitur pergeseran zona:

  • Distribusi node multi-AZ: Menyediakan node pekerja di setidaknya tiga Availability Zone untuk memastikan redundansi yang cukup ketika satu zona menjadi tidak tersedia.

  • Perencanaan kapasitas: Pra-penyediaan kapasitas komputasi yang cukup di seluruh Availability Zone yang sehat untuk mengakomodasi beban kerja penuh ketika satu Availability Zone dihapus dari layanan, karena operasi penskalaan selama gangguan aktif mungkin mengalami kapasitas yang tidak mencukupi.

  • Distribusi Pod dan pra-penskalaan: Menerapkan beberapa replika dari setiap aplikasi di semua Availability Zone dan pra-skala komponen sistem kritis seperti CoreDNS di setiap zona. Ini membantu memastikan bahwa kapasitas yang cukup tetap ada setelah zona digeser.

Rekomendasi untuk ketahanan gangguan zona

  • Aktifkan pergeseran zona pada pembuatan klaster: Untuk kluster EKS baru, aktifkan integrasi pergeseran zona dengan ARC selama penyediaan awal melalui konsol Amazon EKS AWS CLI, atau alat infrastruktur sebagai kode (IAc) seperti. AWS CloudFormationKluster Mode Otomatis EKS yang dibuat dengan konfigurasi cepat mengaktifkan pergeseran zona secara default.

  • Pilih metode aktivasi yang sesuai: Pilih pergeseran otomatis zona untuk lingkungan produksi yang memerlukan ketersediaan maksimum dengan respons otomatis, terutama untuk aplikasi yang menghadapi pelanggan di mana menit waktu henti selama penurunan Zona Ketersediaan dapat membawa dampak bisnis yang signifikan. Gunakan pergeseran zona manual untuk lingkungan di mana tim operasi lebih suka memberikan persetujuan eksplisit sebelum pergeseran lalu lintas, atau di mana pengujian dan validasi aplikasi masih berlangsung.

  • Uji ketahanan sebelum penerapan produksi: Validasi perilaku klaster di bawah kehilangan AZ tunggal dengan memulai pergeseran zona pengujian secara manual atau mengaktifkan praktik pergeseran otomatis zona berjalan untuk memverifikasi bahwa aplikasi mempertahankan ketersediaan, kinerja tetap dapat diterima, dan kapasitas cukup saat beroperasi dengan pengurangan jumlah Zona Ketersediaan. Kami sangat menyarankan pengujian ini sehingga Anda dapat mengidentifikasi kesenjangan konfigurasi sebelum gangguan Availability Zone yang sebenarnya terjadi.

  • Berkoordinasi dengan konfigurasi penyeimbang beban: Untuk aplikasi yang menerima lalu lintas eksternal, aktifkan pergeseran zona ARC pada Application Load Balancer dan Network Load Balancer terkait untuk memastikan bahwa lalu lintas masuk dan lalu lintas timur-barat dalam cluster bergeser bersama selama gangguan Availability Zone. Koordinasi ini mencegah skenario di mana permintaan eksternal mencapai pod yang sehat tetapi pod tersebut tidak dapat berkomunikasi dengan dependensi di zona shifted-away.

  • Memantau operasi shift: Setelah Anda mengaktifkan pergeseran zona, konfigurasikan pemantauan dan peringatan untuk peristiwa shift, termasuk aktivasi autoshift, inisiasi shift manual, dan kedaluwarsa shift, untuk mempertahankan visibilitas operasional ke dalam tindakan manajemen lalu lintas dan dampaknya terhadap perilaku aplikasi.

Penyelesaian dan pemulihan shift

Ketika pergeseran zona kedaluwarsa berdasarkan durasi yang dikonfigurasi atau dibatalkan secara manual setelah gangguan Availability Zone diselesaikan, EndpointSlice pengontrol secara otomatis memperbarui semua EndpointSlices ke titik akhir yang digabungkan kembali di Availability Zone yang dipulihkan. Lalu lintas secara bertahap kembali ke zona yang terkena dampak sebelumnya saat klien menyegarkan informasi titik akhir dan membuat koneksi baru. Hal ini memungkinkan pemanfaatan kapasitas cluster penuh tanpa memerlukan intervensi manual atau penjadwalan ulang pod.