Sebelum memulai
Pastikan Anda memiliki file spesifikasi deployment,
deployment_spec.yaml, yang berisi semua detail komponen node dan cluster Anda.
Mengupgrade orchestrator
Orchestrator mengelola cluster database Anda. Anda harus mengupgrade orchestrator di node kontrol sebelum mengupgrade komponen cluster lainnya.
Ansible
Jika Anda mengelola infrastruktur menggunakan playbook Ansible, selesaikan langkah-langkah berikut:
Periksa versi koleksi
google.alloydbomni_orchestratoryang diinstal di node kontrol Anda dengan menjalankan perintah berikut:ansible-galaxy collection list | grep alloydbomni_orchestratorUntuk menimpa versi yang ada, download rilis stabil terbaru dari file tar koleksi dan lakukan penginstalan paksa:
ansible-galaxy collection install --force google-alloydbomni_orchestrator-NEW_VERSION.tar.gzGanti
NEW_VERSIONdengan versi koleksi baru.
alloydbctl
Jika Anda menggunakan alat command line alloydbctl, selesaikan langkah-langkah berikut:
Untuk memeriksa versi paket terinstal dari orchestrator RPM
alloydbomni_orchestratordi node kontrol Anda, jalankan perintah berikut:rpm -q alloydbomni_orchestratorUpgrade paket software di node kontrol Anda menggunakan pengelola paket:
sudo dnf upgrade alloydbomni_orchestrator
Mengupdate komponen cluster menggunakan Ansible
Google merekomendasikan agar Anda melakukan update menggunakan peran Ansible yang disediakan.
Buat playbook bernama
update.yamlyang mereferensikan peranupdatedari koleksi orchestrator. Anda harus menetapkan nilai parameterupdate_actionkeupdate_rpm.Secara default, peran
updatemengupdate bidang kontrol dan bidang data. Untuk memperbarui hanya komponen bidang kontrol atau data, tetapkan parameter untuk bidang lain kefalse.--- - hosts: all become: true vars: update_action: "update_rpm" ansible_user: SSH_USER ansible_ssh_private_key_file: PRIVATE_KEY_PATH update_control_plane: true # Optional argument if you want to only update data plane components update_data_plane: true # Optional argument if you want to only update control plane components roles: - role: google.alloydbomni_orchestrator.updateGanti kode berikut:
SSH_USER: nama pengguna SSH yang memiliki akses ke node cluster Anda.PRIVATE_KEY_PATH: jalur ke file kunci SSH pribadi Anda.update_action: cakupan update. Tetapkan nilai ini keupdate_rpm.update_control_plane: optional. Tetapkan kefalseuntuk hanya mengupdate komponen bidang data. Defaultnya adalahtrue.update_data_plane: optional. Tetapkan kefalseuntuk mengupdate komponen bidang kontrol saja. Defaultnya adalahtrue.
Untuk melakukan update di semua node yang ditentukan, jalankan playbook dengan file inventaris Anda:
ansible-playbook -i DEPLOYMENT_SPEC update.yamlGanti
DEPLOYMENT_SPECdengan jalur ke file spesifikasi deployment Anda.Pastikan file spesifikasi deployment Anda menentukan versi yang diinstal untuk setiap komponen di cluster Anda. Peran update memperbarui komponen berdasarkan cara Anda mengonfigurasi versinya dalam file inventaris:
- Jika versi komponen cocok dengan versi yang diinstal, peran update tidak akan mengubah komponen tersebut.
- Jika Anda mengubah versi komponen ke versi target tertentu, komponen akan diupdate ke versi tersebut.
- Jika Anda membiarkan kolom versi komponen kosong, komponen akan diupdate ke versi terbaru yang tersedia di repositori yang dikonfigurasi.
Mengupdate komponen cluster secara manual
Jika Anda tidak menggunakan orchestrator Ansible atau jika Anda menginginkan kontrol terperinci atas proses update, Anda dapat mengupdate komponen RPM secara manual untuk setiap node di cluster Anda. Sebaiknya lakukan update software selama masa pemeliharaan terjadwal.
Proses update manual melibatkan update dua bidang berikut:
Bidang kontrol (komponen orkestrator RPM): Bidang kontrol adalah lapisan yang mengontrol dan mengelola cluster database Anda. Dalam deployment RPM, bidang kontrol mencakup
cluster_manager,node_manager, danetcd.Bidang data (Cluster database): Bidang data berisi komponen cluster database, termasuk mesin database AlloyDB Omni itu sendiri,
monitor, serta layanan sepertipgBackRest,PgBouncer,keepalived, danHAProxy. Mengupgrade bidang data akan menerapkan update versi database, patch keamanan, dan peningkatan performa langsung ke cluster database Anda.
Terlepas dari arsitektur referensi Anda, langkah-langkah untuk mengupdate bidang kontrol tetap sama. Anda harus mengupdate komponen bidang kontrol sebelum mengupdate bidang data. Langkah-langkah untuk memperbarui bidang data Anda berbeda-beda berdasarkan arsitektur deployment database Anda.
Untuk mengupdate layanan atau paket, lakukan langkah-langkah berikut:
Hentikan layanan:
sudo systemctl stop SERVICEUpgrade paket menggunakan salah satu perintah berikut:
Untuk mengupdate ke versi terbaru yang tersedia:
sudo dnf upgrade PACKAGEUntuk mengupdate ke versi tertentu:
sudo dnf upgrade PACKAGE-VERSION
Mulai layanan:
sudo systemctl start SERVICE
Ganti kode berikut:
SERVICE: nama layanan yang akan dihentikan dan dimulai, misalnyapgbouncerataukeepalived.PACKAGE: nama paket yang akan diupdate, misalnyapgbouncerataualloydbomni18.VERSION: versi paket target yang akan diinstal, misalnya18.3.0atau18.3.0-2.rhel9.
Mengupdate bidang kontrol secara manual
Untuk mengupdate bidang kontrol, lakukan langkah-langkah berikut pada node yang ditentukan:
Untuk menghentikan pengelola cluster di semua node pengelola cluster, jalankan perintah berikut:
sudo systemctl stop alloydbomni_cluster_managerUntuk mengupdate
etcddi semua node DCS, jalankan perintah berikut secara berurutan:sudo systemctl stop etcdsudo dnf upgrade etcdsudo systemctl start etcdUntuk mengupdate pengelola node di semua node, jalankan perintah berikut secara berurutan:
sudo systemctl stop alloydbomni_node_managersudo dnf upgrade alloydbomni_node_managersudo systemctl start alloydbomni_node_managerSetelah memperbarui komponen bidang kontrol, Anda dapat memperbarui pengelola cluster di semua node pengelola cluster, dan memulai ulang jika perlu.
sudo dnf upgrade alloydbomni_cluster_managersudo systemctl start alloydbomni_cluster_manager
Mengupdate bidang data secara manual
Untuk mengupdate bidang data, update database dan layanan bantuan dalam urutan yang ditentukan untuk arsitektur deployment Anda. Untuk setiap layanan, Anda harus mengikuti urutan ketat dalam menghentikan layanan, mengupgrade paket, dan memulai layanan.
Ikuti petunjuk untuk deployment Anda, bergantung pada arsitektur referensi.
Ambil status cluster Anda menggunakan perintah
alloydbctl getdan tetapkan format output ke YAML:alloydbctl get -d DEPLOYMENT_SPEC -t RESOURCE_TYPE -n CLUSTER_NAME -o yamlGanti kode berikut:
RESOURCE_TYPE: jenis resource yang akan diperiksa, misalnyaDBCluster.CLUSTER_NAME: nama cluster database Anda.DEPLOYMENT_SPEC: jalur ke file spesifikasi deployment Anda.
Dalam output YAML, catat
instanceListdi bagianstatus.Temukan node yang perannya ditetapkan ke
Primary. Semua node database lainnya adalah node standby Anda.Update semua komponen bidang data yang berjalan di node standby terlebih dahulu, lalu update komponen tersebut di node utama. Gunakan langkah-langkah berikut untuk memperbarui komponen bidang data di setiap node.
Untuk mengupdate AlloyDB Omni, jalankan perintah berikut secara berurutan:
sudo systemctl stop alloydbomni18sudo dnf upgrade alloydbomni18sudo systemctl start alloydbomni18Untuk mengupdate monitor, jalankan perintah berikut secara berurutan:
sudo systemctl stop alloydbomni_monitorsudo dnf upgrade alloydbomni_monitorsudo systemctl start alloydbomni_monitorUntuk mengupdate pgBackRest, jalankan perintah berikut secara berurutan:
sudo dnf upgrade pgbackrestUntuk mengupdate PgBouncer, jalankan perintah berikut secara berurutan:
sudo systemctl stop pgbouncersudo dnf upgrade pgbouncersudo systemctl start pgbouncerUntuk mengupdate keepalived, jalankan perintah berikut secara berurutan:
sudo systemctl stop keepalivedsudo dnf upgrade keepalivedsudo systemctl start keepalivedUntuk mengupdate HAProxy, jalankan perintah berikut secara berurutan:
sudo systemctl stop haproxysudo dnf upgrade haproxysudo systemctl start haproxy