Memulihkan status kluster Kubernetes setelah bencana
Berlaku untuk: AKS di Azure Stack HCI 22H2, AKS di Windows Server
Di AKS di Azure Stack HCI atau Windows Server, kluster manajemen disebarkan sebagai satu komputer virtual mandiri (VM) per penyebaran, menjadikannya satu titik kegagalan. Penting untuk dicatat bahwa pemadaman kluster manajemen tidak berdampak pada aplikasi yang berjalan di kluster beban kerja. Ketika VM kluster manajemen gagal, kluster beban kerja (dan beban kerja) terus berjalan, tetapi Anda tidak dapat melakukan operasi hari-2. Misalnya, Anda tidak dapat membuat kluster beban kerja baru, membuat atau menskalakan kumpulan simpul, atau meningkatkan versi Kubernetes, hingga VM dipulihkan.
Kluster manajemen adalah VM yang dilacak dalam pengklusteran failover Windows. Ini juga tahan terhadap gangguan tingkat host. Dengan kata lain, selama kegagalan komputer host, pengklusteran failover Windows memulai ulang VM pada komputer host yang sehat. Artikel ini menyediakan panduan tentang cara melakukan tugas-tugas berikut:
- Pulihkan status AKS pada perangkat keras baru (bisa menjadi situs baru).
- Pulihkan dari kerusakan kluster manajemen.
Dalam salah satu skenario ini, Anda harus membuat ulang kluster manajemen dan semua kluster beban kerja.
Memulihkan status AKS pada perangkat keras baru atau situs baru
Memulihkan status kluster Kubernetes mengharuskan Anda memiliki kluster manajemen yang tersedia pada perangkat keras baru atau di lokasi baru.
- AKS mendukung pencadangan kluster Kubernetes ke Azure Blob Storage dan MinIO menggunakan Velero. Microsoft merekomendasikan pencadangan Azure Storage karena menyediakan 3 salinan data yang berlebihan di wilayah penyimpanan utama.
- Pertimbangkan untuk menjalankan pencadangan pada pekerjaan cron untuk memastikan cadangan yang tersedia memenuhi tujuan titik pemulihan.
Prasyarat
Siapkan siaga dingin sebelum bencana dengan membuat kluster manajemen dan kluster beban kerja kosong. Anda memerlukan kluster beban kerja kosong untuk setiap kluster Kubernetes yang ingin Anda pulihkan dari cadangan. Prasyarat berikut diperlukan:
- Siapkan dan kluster komputer host fisik.
- Konfigurasikan penyimpanan yang diperlukan:
- Untuk SMB: Gunakan driver file Container Storage Interface (CSI).
- Untuk penyimpanan lokal: Gunakan driver disk Antarmuka Penyimpanan Kontainer (CSI).
- Cadangan kluster beban kerja tersedia: Cadangkan, pulihkan kluster beban kerja menggunakan Velero.
- Kluster manajemen AKS diinstal pada perangkat keras baru, atau Anda dapat menginstal kluster manajemen baru pada perangkat keras baru menggunakan langkah 1-5 dari artikel ini: Gunakan PowerShell untuk menyiapkan Kubernetes pada kluster Azure Stack HCI.
- Kluster beban kerja kosong diperlukan untuk memulihkan cadangan. Lihat Mencadangkan, memulihkan kluster beban kerja menggunakan Velero.
Pulihkan dari kerusakan kluster manajemen
Memulihkan dari kerusakan kluster manajemen memerlukan penghapusan instalan AKS dan menginstal ulang kluster manajemen dan semua kluster beban kerja. Kluster beban kerja dapat dipulihkan ke dalam kluster beban kerja kosong dari cadangan Velero.
Prasyarat berikut diperlukan:
- Pencadangan kluster beban kerja: Mencadangkan, memulihkan kluster beban kerja menggunakan Velero.
- Pencadangan konfigurasi AKS untuk pengaturan jaringan, penyimpanan, dan kluster sebelumnya. Pengaturan kluster mencakup ukuran dan jumlah sarana kontrol, load balancer, dan VM simpul pekerja. Misalnya, jika kluster lama Anda memiliki 3 VM sarana kontrol Standard_A2_V2 , Anda harus membuat 3 VM sarana kontrol di lingkungan baru.
Untuk memulihkan dari kerusakan kluster manajemen, lakukan langkah-langkah berikut:
- Hapus instalan AKS: Hapus instalan-AksHci.
- Instal kluster manajemen AKS baru menggunakan langkah 1-5 dari artikel ini: Gunakan PowerShell untuk menyiapkan Kubernetes pada kluster AKS.
- Buat kluster beban kerja dengan kumpulan simpul yang diperlukan menggunakan langkah 6 dalam artikel ini. Anda memerlukan kluster beban kerja terpisah untuk setiap kluster beban kerja yang Anda pulihkan dari cadangan.
- Anda dapat mengonfigurasi beberapa VM sarana kontrol dan VM load balancer selama pembuatan kluster beban kerja menggunakan artikel ini: New-AksHciCluster untuk AKS.
- Konfigurasikan penyimpanan yang diperlukan:
- Untuk SMB: Gunakan driver file Container Storage Interface (CSI).
- Untuk penyimpanan lokal: Gunakan driver disk Antarmuka Penyimpanan Kontainer (CSI).
- Pulihkan semua kluster beban kerja dari cadangan.
FAQ
Ketahanan apa yang dibangun ke dalam kluster manajemen?
Setiap penyebaran AKS mencakup kluster manajemen yang merupakan satu VM mandiri. Untuk ketahanan dan ketersediaan tinggi, AKS bergantung pada pengklusteran failover windows untuk memulihkan VM jika gangguan terjadi.
Pemadaman kluster manajemen tidak berdampak pada aplikasi yang berjalan di kluster beban kerja. Ketika VM kluster manajemen turun, ini berdampak pada kemampuan Anda untuk melakukan operasi AKS Hari 2, seperti membuat kluster beban kerja baru, membuat atau menskalakan kumpulan simpul, meningkatkan versi Kubernetes, dll., hingga VM dipulihkan. Jika Anda tidak dapat memulihkan dari kegagalan kluster manajemen, sebaiknya hubungi Dukungan Microsoft.
Apa yang disertakan dalam cadangan Velero?
Filename | Deskripsi konten |
---|---|
*-csi-volumesnapshotclasses.json.gz | File yang berisi csi adalah rekam jepret volume persisten. |
*-csi-volumesnapshotcontents.json.gz | File yang berisi csi adalah rekam jepret volume persisten. |
*-csi-volumesnapshots.json.gz | File yang berisi csi adalah rekam jepret volume persisten. |
*-logs.gz | Output log operasi pencadangan. Data yang sama dari menjalankan: velero backup log <backupname> . |
*-podvolumebackups.json.gz | Metadata tentang pod dan volume persisten. |
*-resource-list.json.gz | Sumber daya yang terkandung dalam cadangan tercantum dalam file ini. |
*-volumesnapshots.json.gz | Metadata tentang pod dan volume persisten. |
*.tar.gz | Metadata: namespace, jumlah replika pod, memori, cpu. Data yang sama seperti yang dikembalikan dari: kubectl get deployment . |
Apa yang tidak disertakan dalam cadangan Velero?
Cadangan Velero tidak menyertakan item berikut:
- Konfigurasi kluster manajemen (AKS)
- Metadata sarana kontrol VM (server API)
- Metadata load balancer (Proksi HA)
- Pengaturan jaringan
- Pengaturan penyimpanan
Bagaimana cara mencadangkan konfigurasi AKS sebelum bencana?
Untuk mencadangkan konfigurasi kluster manajemen, buka jendela PowerShell dan jalankan perintah berikut:
Get-AksHciConfig | ConvertTo-Json
Bagaimana cara memastikan kluster beban kerja memiliki konfigurasi yang sama seperti sebelum bencana?
Untuk mencadangkan konfigurasi kluster beban kerja, buka jendela PowerShell dan jalankan perintah berikut:
Get-AksHciCluster -name <cluster name> | ConvertTo-Json