Memperbarui komponen cluster orkestrator RPM

Pilih versi dokumentasi:

Halaman ini menjelaskan cara mengupdate paket software cluster database AlloyDB Omni, konfigurasi resource, dan orchestrator RPM di lingkungan Red Hat Enterprise Linux (RHEL).

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:

  1. Periksa versi koleksi google.alloydbomni_orchestrator yang diinstal di node kontrol Anda dengan menjalankan perintah berikut:

    ansible-galaxy collection list | grep alloydbomni_orchestrator
  2. Untuk 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.gz

    Ganti NEW_VERSION dengan versi koleksi baru.

alloydbctl

Jika Anda menggunakan alat command line alloydbctl, selesaikan langkah-langkah berikut:

  1. Untuk memeriksa versi paket terinstal dari orchestrator RPM alloydbomni_orchestrator di node kontrol Anda, jalankan perintah berikut:

    rpm -q alloydbomni_orchestrator
  2. Upgrade 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.

  1. Buat playbook bernama update.yaml yang mereferensikan peran update dari koleksi orchestrator. Anda harus menetapkan nilai parameter update_action ke update_rpm.

    Secara default, peran update mengupdate bidang kontrol dan bidang data. Untuk memperbarui hanya komponen bidang kontrol atau data, tetapkan parameter untuk bidang lain ke false.

    ---
    - 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.update
    

    Ganti 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 ke update_rpm.
    • update_control_plane: optional. Tetapkan ke false untuk hanya mengupdate komponen bidang data. Defaultnya adalah true.
    • update_data_plane: optional. Tetapkan ke false untuk mengupdate komponen bidang kontrol saja. Defaultnya adalah true.
  2. Untuk melakukan update di semua node yang ditentukan, jalankan playbook dengan file inventaris Anda:

    ansible-playbook -i DEPLOYMENT_SPEC update.yaml

    Ganti DEPLOYMENT_SPEC dengan 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, dan etcd.

  • Bidang data (Cluster database): Bidang data berisi komponen cluster database, termasuk mesin database AlloyDB Omni itu sendiri, monitor, serta layanan seperti pgBackRest, PgBouncer, keepalived, dan HAProxy. 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:

  1. Hentikan layanan:

    sudo systemctl stop SERVICE
  2. Upgrade paket menggunakan salah satu perintah berikut:

    • Untuk mengupdate ke versi terbaru yang tersedia:

      sudo dnf upgrade PACKAGE
    • Untuk mengupdate ke versi tertentu:

      sudo dnf upgrade PACKAGE-VERSION
  3. Mulai layanan:

    sudo systemctl start SERVICE

Ganti kode berikut:

  • SERVICE: nama layanan yang akan dihentikan dan dimulai, misalnya pgbouncer atau keepalived.
  • PACKAGE: nama paket yang akan diupdate, misalnya pgbouncer atau alloydbomni18.
  • VERSION: versi paket target yang akan diinstal, misalnya 18.3.0 atau 18.3.0-2.rhel9.

Mengupdate bidang kontrol secara manual

Untuk mengupdate bidang kontrol, lakukan langkah-langkah berikut pada node yang ditentukan:

  1. Untuk menghentikan pengelola cluster di semua node pengelola cluster, jalankan perintah berikut:

    sudo systemctl stop alloydbomni_cluster_manager
  2. Untuk mengupdate etcd di semua node DCS, jalankan perintah berikut secara berurutan:

    sudo systemctl stop etcd
    sudo dnf upgrade etcd
    sudo systemctl start etcd
  3. Untuk mengupdate pengelola node di semua node, jalankan perintah berikut secara berurutan:

    sudo systemctl stop alloydbomni_node_manager
    sudo dnf upgrade alloydbomni_node_manager
    sudo systemctl start alloydbomni_node_manager
  4. Setelah memperbarui komponen bidang kontrol, Anda dapat memperbarui pengelola cluster di semua node pengelola cluster, dan memulai ulang jika perlu.

    sudo dnf upgrade alloydbomni_cluster_manager
    sudo 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.

  1. Ambil status cluster Anda menggunakan perintah alloydbctl get dan tetapkan format output ke YAML:

    alloydbctl get -d DEPLOYMENT_SPEC -t RESOURCE_TYPE -n CLUSTER_NAME -o yaml

    Ganti kode berikut:

    • RESOURCE_TYPE: jenis resource yang akan diperiksa, misalnya DBCluster.
    • CLUSTER_NAME: nama cluster database Anda.
    • DEPLOYMENT_SPEC: jalur ke file spesifikasi deployment Anda.
  2. Dalam output YAML, catat instanceList di bagian status.

    Temukan node yang perannya ditetapkan ke Primary. Semua node database lainnya adalah node standby Anda.

  3. 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.

    1. Untuk mengupdate AlloyDB Omni, jalankan perintah berikut secara berurutan:

      sudo systemctl stop alloydbomni18
      sudo dnf upgrade alloydbomni18
      sudo systemctl start alloydbomni18
    2. Untuk mengupdate monitor, jalankan perintah berikut secara berurutan:

      sudo systemctl stop alloydbomni_monitor
      sudo dnf upgrade alloydbomni_monitor
      sudo systemctl start alloydbomni_monitor
    3. Untuk mengupdate pgBackRest, jalankan perintah berikut secara berurutan:

      sudo dnf upgrade pgbackrest
    4. Untuk mengupdate PgBouncer, jalankan perintah berikut secara berurutan:

      sudo systemctl stop pgbouncer
      sudo dnf upgrade pgbouncer
      sudo systemctl start pgbouncer
    5. Untuk mengupdate keepalived, jalankan perintah berikut secara berurutan:

      sudo systemctl stop keepalived
      sudo dnf upgrade keepalived
      sudo systemctl start keepalived
    6. Untuk mengupdate HAProxy, jalankan perintah berikut secara berurutan:

      sudo systemctl stop haproxy
      sudo dnf upgrade haproxy
      sudo systemctl start haproxy