Cara Mencadangkan dan Memulihkan Cluster Kubernetes Menggunakan Velero
TL;DR: Amankan kluster Kubernetes Anda dengan Velero. Alat sumber terbuka ini menyederhanakan pencadangan, pemulihan, dan pemulihan bencana, memastikan integritas data dan meminimalkan waktu henti.
4 bulan lalu • Waktu baca 5 menit
Memastikan keamanan dan pemulihan aplikasi dan data merupakan hal penting dalam dunia Kubernetes. Alat canggih yang dapat membantu mencapai hal ini adalah Velero, solusi pencadangan dan pemulihan serbaguna yang dirancang khusus untuk kluster Kubernetes. Dalam panduan ini, kami akan membahas proses pengamanan Kluster Kubernetes Anda dengan Velero, memberikan Anda ketenangan pikiran dan perlindungan terhadap kejadian yang tidak terduga.
Memahami Velero
Velero, yang sebelumnya dikenal sebagai Heptio Ark, adalah alat sumber terbuka yang menyederhanakan pencadangan, pemulihan, dan migrasi untuk sumber daya kluster Kubernetes dan kontainer biasa. Alat ini memungkinkan pengguna membuat pencadangan terjadwal atau sementara untuk sumber daya dan aplikasi mereka, memastikan integritas dan pemulihan data jika terjadi kegagalan, kerusakan, atau penghapusan yang tidak tepat.
Semua operasi Velero (pencadangan sesuai permintaan, pencadangan terjadwal, pemulihan) bersifat pribadi, didefinisikan menggunakan Definisi Sumber Daya Kustom (CRD) Kubernetes, dan disimpan di tempat lain. Velero juga menyertakan pengontrol yang mengelola sumber daya khusus untuk melakukan pencadangan, pemulihan, dan semua tugas terkait.
Velero ideal untuk mengimplementasikan pemulihan bencana dan mengambil snapshot status aplikasi sebelum melakukan operasi kluster seperti pemutakhiran.
Mengapa Harus Mencadangkan Klaster Kubernetes Anda?
Penting untuk menerapkan strategi pencadangan guna mengurangi risiko yang terkait dengan kehilangan atau kerusakan data. Dengan menggunakan Velero untuk mencadangkan Tumpukan Aplikasi Kubernetes secara berkala, Anda dapat:
- Kemampuan Uji yang Lebih Baik: Pencadangan terjadwal secara berkala dengan Velero memungkinkan Anda membuat lingkungan yang terisolasi untuk tujuan pengujian. Anda dapat memulihkan cadangan titik waktu tertentu dari tumpukan Aplikasi Anda untuk menguji fitur, konfigurasi, atau prosedur pemulihan bencana baru tanpa memengaruhi lingkungan produksi Anda.
- Waktu Henti yang Lebih Singkat: Jika terjadi penghapusan yang tidak disengaja, perubahan konfigurasi, atau bahkan pelanggaran keamanan, memulihkan dari cadangan Velero terkini dapat mengurangi waktu henti secara signifikan dibandingkan dengan membangun ulang tumpukan Aplikasi K8s Anda dari awal. Ini berarti waktu pemulihan yang lebih cepat dan gangguan yang diminimalkan bagi pengguna Anda.
- Pencadangan dan Pemulihan Granular: Velero menawarkan fleksibilitas dalam hal pencadangan. Anda dapat memilih untuk mencadangkan seluruh tumpukan Aplikasi atau komponen tertentu seperti Devtron CRD (Custom Resource Definitions) atau namespace tertentu dan data konfigurasinya. Hal ini memungkinkan pemulihan granular, di mana Anda dapat memulihkan hanya bagian tumpukan yang terpengaruh, bukan seluruh sistem.
- Kepatuhan dan Auditabilitas: Bagi organisasi dengan persyaratan kepatuhan yang ketat, pencadangan Velero menyediakan jejak audit yang dapat diverifikasi. Anda dapat melacak versi cadangan, stempel waktu, dan log keberhasilan/kegagalan, yang menunjukkan kepatuhan terhadap kebijakan dan peraturan penyimpanan data.
- Pemulihan Bencana di Berbagai Lingkungan: Velero mendukung pencadangan ke berbagai penyedia cloud dan solusi penyimpanan lokal. Hal ini memungkinkan Anda memulihkan K8s Cluster ke lingkungan yang sama sekali berbeda jika terjadi bencana yang membuat cluster utama Anda tidak dapat digunakan. Hal ini memberikan lapisan perlindungan tambahan dan memastikan kelangsungan bisnis.
Alur Kerja Pencadangan Klaster menggunakan Velero
Velero diinstal pada kluster dengan konfigurasi yang diberikan. Saat melakukan pencadangan, Velero membuat file .tar dari cadangan dan mendorongnya ke penyedia penyimpanan. Untuk memulihkan cadangan, Velero mencari file .tar pada penyedia penyimpanan yang diberikan, menariknya ke kluster target, dan menerapkannya ke kluster seperti yang dapat Anda lihat di [Gbr. 1]
Prasyarat untuk Pencadangan Klaster Menggunakan Velero
Mari kita ambil contoh klaster tempat Devtron berjalan. Kami ingin mengambil cadangan klaster dan memulihkan cadangan tersebut jika terjadi bencana. Untuk demo ini, kami akan menggunakan AWS S3 untuk menyimpan cadangan dan kemudian memulihkan cadangan di klaster target menggunakan cadangan yang dikirim di S3.
Sebelum memulai, kita perlu menginstal CLI terlebih dahulu.
Instalasi
Bahasa Indonesia:
Instal klien Velero CLI dari halaman GitHub resmi Velero, yaitu https://github.com/vmware-tanzu/velero pada CLI tempat Anda mengakses kluster Kubernetes.
Setelah mengunduh, ekstrak file tar dan tambahkan Velero ke bin.
sudo mv /Users/demo-user/velero-v1.14.0-linux-amd64/velero /usr/local/bin
Untuk macOS:
Anda dapat menggunakan homebrew -brew install velero
Konfigurasikan Velero untuk Pencadangan & Pemulihan Klaster
Mari konfigurasikan Velero CLI yang akan kita gunakan untuk mengambil cadangan kluster Kubernetes dan CLI yang sama akan digunakan untuk memulihkan cadangan di kluster target.
Langkah-1: Buat direktori bernama Velero. Ikuti perintah di bawah ini untuk menavigasi ke direktori bernamavelero
mkdir velero
cd ./velero
Buat file bernama Velero-creds dan tambahkan yang berikut ini
[default]
aws_access_key_id = < s3_storage_access_key_id>
aws_secret_access_key = < s3_storage_secret_access >
Langkah-2: Instal klien Velero dengan konfigurasi berikut
velero install \
--provider aws \
--plugins velero/velero-plugin-for-aws:v1.10.0 \
--bucket k8s-backup \
--backup-location-config region=ap-southeast-1 \
--snapshot-location-config region=ap-southeast-1 \
--secret-file ./velero-creds
Anda dapat memeriksa instalasi dengan menjalankan perintah berikut.
kubectl get all -n velero
Sekarang Velero telah berhasil diinstal pada kluster dan telah dikonfigurasi.
Pencadangan & Pemulihan Klaster
Setelah mengonfigurasi Velero CLI, sekarang mari ambil cadangan kluster, dan pulihkan cadangan di kluster target.
Cadangan
Sekarang setelah Velero dikonfigurasi, kita perlu menjalankan perintah untuk mengambil cadangan klaster Kubernetes kita.
Jalankan perintah berikut:
velero backup create k8s-backup
Perintah ini akan membuat cadangan cluster Kubernetes dan menyimpannya di opsi penyimpanan yang disediakan dengan nama yang diberikan yaituk8s-backup
Anda juga dapat mengambil cadangan namespace tertentu menggunakan perintah berikut
velero backup create <backup-name> --include-namespaces <namespace>
Setelah pencadangan selesai, Anda dapat melihat file tar cadangan Anda di bucket S3 Anda. Periksa cadangan dengan menjalankan perintah berikut
Velero backup describe <backup name>
Memulihkan
Sekarang cadangan sudah siap dan dapat dipulihkan dengan melalui proses yang sama yaitu menginstal Velero dan menjalankan perintah berikut.
Catatan: Jika Anda memulihkan cadangan pada kluster yang sama tempat Velero dikonfigurasi, Anda tidak perlu mengonfigurasinya lagi.
velero restore create –from-backup devtroncd
Ada opsi untuk menyertakan PVC dengan cadangan menggunakan --csi-snapshot-timeout
bendera
velero backup create nginx-backup --include-namespacesnginx-example --csi-snapshot-timeout 20m
Dengan cara ini, Anda dapat memulihkan kluster K8s menggunakan Velero. Untuk operasi lebih lanjut, Anda dapat membuka dokumentasi atau menggunakan perintah:velero --help
Jika Anda memiliki pertanyaan, jangan ragu untuk bergabung dengan Komunitas Discord kami yang aktif dan bagikan pertanyaan Anda jika ada.
Tidak ada komentar:
Posting Komentar