Selasa, 21 Januari 2025

VIRTUAL VM-dg incus cluster

https://discussion.scottibyte.com/t/incus-cluster-101-for-higher-availability-containers-vms/411 

Pengelompokan menyediakan ketersediaan yang lebih tinggi daripada sekadar satu server incus yang berdiri sendiri. Sebuah Kluster Incus terdiri dari satu server bootstrap dan sedikitnya dua anggota kluster lainnya. Dalam tutorial ini, kita akan melihat cara membuat Kluster Incus yang sangat mendasar.

Anda dapat membuat klaster dengan hanya dua anggota, tetapi hilangnya satu anggota mengakibatkan kurangnya kuorum untuk basis data terdistribusi dan karena kita mencoba menyediakan ketersediaan terbaik, rekomendasi saya adalah selalu membentuk klaster incus dengan tiga atau lebih node anggota.

Server yang berpartisipasi dalam kluster dapat berupa server fisik atau mesin virtual. Untuk ketersediaan, sekali lagi, Anda tidak ingin anggota kluster yang merupakan VM dihosting pada server fisik yang sama.

Anggota klaster awal yang digunakan untuk membentuk atau memulai klaster disebut server bootstrap. Server bootstrap dapat berupa server baru yang belum menjalankan “incus admin init”. Server bootstrap juga dapat berupa Server Incus mandiri yang sudah ada yang Anda ubah menjadi anggota bootstrap klaster.

Untuk keperluan kita, kita akan mengonversi server mandiri incus “vmscloud-incus” saya ke server bootstrap incus. Server bootstrap bersifat khusus karena semua kontainer, profil, dan gambar yang ada sebagai server incus mandiri akan dipertahankan saat server tersebut menjadi server bootstrap.

Sayangnya, anggota kluster tambahan yang ditambahkan setelah server bootstrap akan kehilangan semua kontainer, profil, dan gambar yang dikonfigurasi karena hanya data bootstrap yang dipertahankan. Itu berarti bahwa jika Anda menambahkan server incus yang ada ke kluster yang ada, Anda perlu mengekspor semua kontainer dan profilnya dan mengimpornya ke kluster lagi.

Untuk memulainya, server mandiri kita, yang akan menjadi anggota kluster bootstrap, memiliki tiga kontainer di dalamnya.

Server anggota pertama saya (server kedua dalam kluster) akan menjadi "vmsfog-incus" dan memiliki dua kontainer di dalamnya. Sayangnya, kontainer ini akan hilang saat server ini diubah dari server incus mandiri menjadi server anggota dalam kluster.

Anggota ketiga klaster adalah incus-member dan akan menjadi server anggota seperti vmsfog-incus. Akan tetapi, saya telah menginstal incus pada server incus-member, tetapi saya belum pernah menjalankan “incus admin init” pada server ini sehingga tidak ada kontainer di dalamnya. Ini akan menjadi cara yang lebih umum untuk menambahkan server anggota, karena seperti yang saya catat, kontainer, profil, atau gambar apa pun tidak akan disimpan saat server digabungkan sebagai anggota ke klaster yang ada.

Untuk mengonversi vmscloud-incus dari server incus mandiri ke server bootstrap kluster, saya tetapkan alamat kluster saya menjadi alamat server vmsloud-incus di port manajemennya. Sekali lagi, ini adalah contoh sederhana:

incus config set cluster.https_address 172.16.1.219:8443

Sekarang, saya bisa membuatnya menjadi sebuah cluster:

incus cluster enable vmscloud-incus

Perintah untuk memverifikasi bahwa itu adalah sebuah cluster adalah:

incus cluster list

Server incus vmsfog-incus belum menjadi bagian dari kluster.

incus cluster list

gambar

Karena vmsfog-incus memiliki beberapa kontainer, saya perlu menghentikannya dan menghapusnya karena vmsfog-incus tidak dapat menjadi server anggota jika memiliki kontainer yang ada.

gambar

Saya juga harus menghapus perangkat “root” dari kumpulan default incus:

incus profile device remove default root

Saya juga harus menghapus perangkat ethernet default yang digunakan di dalam kontainer.

incus profile device remote default eth0

gambar

Kita juga harus menghapus bridgeprofile yang mungkin telah Anda buat dalam tutorial “incus langkah demi langkah” saya:

incus profile delete bridgeprofile

Kita juga harus menghapus perangkat jembatan incusbr0 dan penunjuk untuk kumpulan penyimpanan default:

incus network rm incusbr0 incus storage rm default

gambar

Sekarang kita masuk ke node bootstrap dan menjalankan perintah add untuk mendapatkan token gabung kluster.

incus cluster add vmsfog-incus

Sekarang, kembali ke vmsfog-incus, kita dapat menggabungkannya ke kluster menggunakan token yang baru saja kita peroleh dari server bootstrap. Penggabungan kluster memerlukan “sudo”:

sudo incus admin init

Sekarang jika saya menampilkan klaster dari vmscloud-incus atau vmsfog-incus, maka akan terlihat kedua anggota klaster tersebut.

incus cluster list

Perhatikan bahwa dalam daftar di atas URL untuk vmscloud-incus dicantumkan sebagai alamat dan vmsfog-incus dicantumkan sebagai nama DNS. Ini semua karena jika Anda menggunakan nama DNS saat Anda menjalankan "incus admin init". Penting juga bagi komunikasi kluster agar semua anggota kluster mencantumkan entri dns dari semua anggota kluster lainnya pada setiap node kluster untuk komunikasi kluster yang tepat.

Sebagai contoh, berikut tabel host saya:

sudo nano /etc/hosts

Selanjutnya, saya ingin bergabung dengan incus-member. Server incus-member incus telah terinstal incus, tetapi saya belum pernah menjalankan "incus admin init" di dalamnya sehingga menambahkannya sebagai server member jauh lebih mudah.

Pertama saya tetapkan alamat cluster pada incus-member menjadi alamat incus-member.

incus config set cluster.https_address 172.16.1.74:8443

gambar

Sekarang saya bergabung dengan cluster dengan “incus admin init”, tetapi pertama-tama saya masuk ke vmscloud-incus atau vmsfog-incus dan mendapatkan token gabung dengan:

incus cluster add incus-member

Sekarang saya kembali ke incus-member.

Dalam tutorial ini, penggabungan ini awalnya gagal karena vmscloud-incus dan vmsfog-incus menjalankan incus v6.0 dan incus-member baru saja diinstal dan menjalankan incus 6.1. Versi server Incus harus sama sebelum server anggota baru dapat ditambahkan.

Setelah meng-upgrade ketiga server tersebut ke incus v6.1, penggabungan tersebut berhasil dengan mengulang “incus admin init” seperti di atas dan sekarang kita dapat melihat ketiga server tersebut.

incus cluster list

Jika Anda menonton video saya yang berjudul LXConsole Web Interface untuk Incus, Anda dapat melihat bahwa GUI Web juga melihat kluster.

Layar ringkasan juga memperlihatkan berapa banyak anggota klaster yang sedang daring.

Keindahan klaster adalah jika salah satu anggota klaster mati, kontainer incus dan mesin virtual incus masih dapat diakses. Menambahkan kontainer dari anggota klaster mana pun akan memperlihatkannya dari sudut pandang semua anggota klaster.

Ketersediaan lebih tinggi yang ditawarkan kluster incus mungkin merupakan solusi tepat untuk aplikasi yang perlu tetap online meskipun satu server mati.

Tidak ada komentar:

Posting Komentar