Menginstal AlloyDB Omni menggunakan pengelola RPM

Pilih versi dokumentasi:

Halaman ini menjelaskan cara menginstal stack software AlloyDB Omni dan komponen pengelolaannya menggunakan pengelola AlloyDB Omni.

Sebelum memulai

Sebelum menginstal komponen, pastikan Anda telah menyelesaikan prasyarat berikut:

  • Instal pengelola tugas: pastikan koleksi Ansible atau CLI pengelola tugas AlloyDB Omni diinstal di node kontrol Anda.
  • Sediakan mesin: Anda harus menyediakan virtual machine RHEL9 sesuai dengan arsitektur yang Anda pilih, seperti mandiri atau ketersediaan tinggi.
  • Konfigurasi jaringan dan firewall: pastikan semua port yang diperlukan terbuka di antara node Anda. Hal ini mencakup 5432 untuk traffic database, 2379/2380 untuk etcd, dan port pengelolaan 6703, 6702, dan 6700 yang digunakan oleh Pengelola Cluster dan Pengelola Node.
  • Periksa dependensi paket software: Jika Anda mengelola paket software melalui repositori Yum pribadi, ikuti petunjuk dari pengelolaan repositori Anda untuk menyertakan file RPM dependen ke dalam repositori.

Menyiapkan inventaris spesifikasi deployment

Pengelola menggunakan file spesifikasi deployment dalam format inventaris Ansible untuk memahami topologi cluster Anda. Buat file bernama deployment_spec.yaml dengan detail node Anda.

alloydbomni:
  vars:
    cluster_manager:
      name: "MANAGEMENT_CLUSTER_NAME"
    etcd:
      setup: SETUP_ETCD
      config_forcewrite: FORCE_OVERWRITE_ETCD
      # version: ETCD_VERSION  # Optional: defaults to the latest version
      # repo_url: ETCD_REPOSITORY_URL  # Optional
      # repo_gpg_key_url: GPG_KEY  # Optional
    alloydbomni:
      major_version: "PG_VERSION" # Mandatory: for example, 18
      # version: ALLOYDB_OMNI_VERSION    # Optional: defaults to the latest version
      # repo_url: ALLOYDB_OMNI_COMMON_REPOSITORY_URL     # Optional
      # repo_gpg_key_url: GPG_KEY  # Optional
    alloydbomni_monitor:
      # version: ALLOYDB_OMNI_MONITOR_VERSION    # Optional: defaults to the latest version
      # repo_url: ALLOYDB_OMNI_COMMON_REPOSITORY_URL   # Optional
      # repo_gpg_key_url: GPG_KEY  # Optional
    alloydbomni_cluster_manager:
      # version: ALLOYDB_OMNI_CLUSTER_MANAGER_VERSION      # Optional: defaults to the latest version
      # repo_url: ALLOYDB_OMNI_ORCHESTRATOR_REPOSITORY_URL # Optional
      # repo_gpg_key_url: GPG_KEY  # Optional
    alloydbomni_node_manager:
      # version: ALLOYDB_OMNI_NODE_MANAGER_VERSION         # Optional: defaults to the latest version
      # repo_url: ALLOYDB_OMNI_ORCHESTRATOR_REPOSITORY_URL # Optional
      # repo_gpg_key_url: GPG_KEY  # Optional
    pgbouncer:
      # version: ALLOYDB_OMNI_PGBOUNCER_VERSION    # Optional
      # repo_url: ALLOYDB_OMNI_COMMON_REPOSITORY_URL   # Optional
      # repo_gpg_key_url: GPG_KEY  # Optional
    pgbackrest:
      # version: ALLOYDB_OMNI_PGBACKREST_VERSION   # Optional
      # repo_url: ALLOYDB_OMNI_COMMON_REPOSITORY_URL   # Optional
      # repo_gpg_key_url: GPG_KEY  # Optional

  children:
    primary_instance_nodes:
      hosts:
        DB_HOST_1:
        DB_HOST_2:
        DB_HOST_3:
    load_balancer_nodes:    # Optional. Host group for load balancer. If empty, no load balancer is configured.
      hosts:
        LB_HOST_1:
        LB_HOST_2:
    etcd_nodes:     # Optional: Host group where etcd is set up
      hosts:
        ETCD_HOST_1:
        ETCD_HOST_2:
        ETCD_HOST_3:
    cluster_manager_nodes:    # Optional: Host group for cluster manager
      hosts:
        CM_HOST_1:
        CM_HOST_2:
        CM_HOST_3:

Ganti kode berikut:

  • MANAGEMENT_CLUSTER_NAME: nama cluster pengelolaan Anda. Nama ini bisa sama dengan nama cluster database Anda jika diinstal pada node yang sama, misalnya, my-management-cluster.
  • SETUP_ETCD: menentukan apakah orkestrator harus mengonfigurasi dan mem-bootstrap cluster etcd. Jika disetel ke true, orkestrator akan melakukan penyiapan dan inisialisasi etcd awal di node etcd yang ditentukan. Jika tidak ada node etcd yang ditentukan dalam deployment_spec, secara default etcd akan dikonfigurasi di node pengelola cluster. Parameter ini sesuai dengan kunci etcd.setup dalam spesifikasi deployment.
  • FORCE_OVERWRITE_ETCD: menentukan apakah akan mengganti file konfigurasi etcd yang ada selama proses penyiapan. Setel ke true untuk mengganti file konfigurasi yang ada di node target; jika tidak, setel ke false(default) untuk mempertahankan konfigurasi yang ada dan mencegah gangguan layanan yang tidak diinginkan.
  • ETCD_VERSION: versi paket etcd yang akan diinstal, misalnya, 3.4.13.
  • ETCD_REPOSITORY_URL: URL repositori yang berisi RPM etcd.
  • PG_VERSION: versi PostgreSQL utama dari penginstalan AlloyDB Omni Anda, misalnya, 18.
  • ALLOYDB_OMNI_VERSION: versi mesin database AlloyDB Omni yang akan diinstal, misalnya, 18.1.0. Jika tidak disertakan, pengelola akan menginstal versi terbaru yang tersedia.
  • ALLOYDB_OMNI_COMMON_REPO_URL: URL repositori umum yang berisi RPM AlloyDB Omni, monitor, PgBouncer, dan pgBackRest.
  • GPG_KEY: lokasi kunci publik Google untuk verifikasi GNU Privacy Guard (GPG)—misalnya, https://dl.google.com/linux/linux_signing_key.pub. Ini juga dapat ditetapkan sebagai jalur jika kunci didownload ke file di semua VM, misalnya, /tmp/linux_signing_key.pub.
  • ALLOYDB_OMNI_MONITOR_VERSION: versi paket monitor AlloyDB Omni yang akan diinstal. Secara default, versi terbaru yang tersedia.
  • ALLOYDB_OMNI_CLUSTER_MANAGER_VERSION: versi pengelola cluster AlloyDB Omni yang akan diinstal. Jika tidak disertakan, pengelola akan menginstal versi terbaru yang tersedia.
  • ALLOYDB_OMNI_ORCHESTRATOR_REPO_URL: URL repositori yang berisi RPM pengelola cluster dan pengelola node AlloyDB Omni.
  • ALLOYDB_OMNI_NODE_MANAGER_VERSION: versi pengelola node AlloyDB Omni yang akan diinstal. Jika tidak disertakan, pengelola akan menginstal versi terbaru yang tersedia.
  • ALLOYDB_OMNI_PGBOUNCER_VERSION: versi paket PgBouncer yang akan diinstal.
  • ALLOYDB_OMNI_PGBACKREST_VERSION: versi paket pgBackRest yang akan diinstal.
  • DB_HOST_1, DB_HOST_2, DB_HOST_3: alamat IP atau nama domain yang sepenuhnya memenuhi syarat (FQDN) dari mesin virtual yang ditetapkan sebagai node database.
  • LB_HOST_1, LB_HOST_2: alamat IP atau nama domain yang sepenuhnya memenuhi syarat (FQDN) dari mesin virtual yang ditetapkan sebagai node load balancer.
  • ETCD_HOST_1, ETCD_HOST_2, ETCD_HOST_3: alamat IP atau FQDN mesin virtual yang ditetapkan sebagai node etcd.
  • CM_HOST_1, CM_HOST_2, CM_HOST_3: alamat IP atau FQDN virtual machine yang ditetapkan sebagai node pengelola cluster.

Menginstal komponen

Anda dapat menginstal komponen AlloyDB Omni dan dependensinya menggunakan Ansible atau dengan menginstal paket software secara manual di setiap node.

Menginstal komponen AlloyDB Omni menggunakan Ansible

Metode penginstalan yang direkomendasikan adalah menggunakan peran Ansible yang disediakan.

  1. Buat playbook bernama install.yaml yang mereferensikan peran penginstalan dari koleksi pengelola.

      - name: Install AlloyDB Omni cluster components
        hosts: all
        vars:
          ansible_become: true
          ansible_user: SSH_USER
          ansible_ssh_private_key_file: SSH_KEY_PATH
        roles:
          - role: google.alloydbomni_orchestrator.install
    

    Ganti kode berikut:

    • SSH_USER: nama pengguna yang Anda gunakan untuk terhubung ke node di cluster menggunakan SSH.
    • SSH_KEY_PATH: jalur ke file kunci pribadi SSH di node kontrol Anda — misalnya, ~/.ssh/id_rsa.
  2. Jalankan playbook menggunakan file inventaris Anda untuk mendownload dan menginstal RPM di semua node yang ditentukan.

      ansible-playbook -i deployment_spec.yaml install.yaml
    

Menginstal komponen AlloyDB Omni secara manual

Jika tidak menggunakan Ansible, Anda harus menginstal RPM secara manual di setiap node dalam cluster.

  • REPO_GPG_KEY: lokasi kunci publik Google untuk verifikasi GNU Privacy Guard (GPG), misalnya, https://dl.google.com/linux/linux_signing_key.pub. Ini juga dapat ditetapkan sebagai jalur jika kunci didownload ke file di semua VM, misalnya, file:///tmp/linux_signing_key.pub.

Menginstal komponen AlloyDB Omni di node etcd

  1. Di semua node etcd, buat file konfigurasi repositori YUM bernama /etc/yum.repos.d/alloydb-etcd.repo:

    [etcd]
    name=AlloyDB Omni ETCD
    baseurl=ETCD_REPOSITORY_URL
    enabled=1
    repo_gpgcheck=0
    gpgcheck=1
    gpgkey=REPO_GPG_KEY
    
  2. Instal etcd:

    sudo dnf install -y etcd
    
  3. Bootstrap etcd dengan mengedit file konfigurasi. Anda harus melakukan bootstrapping etcd sebelum menginstal komponen AlloyDB Omni.

    Di etcd_nodes, edit /etc/etcd/etcd.conf:

    ETCD_NAME=ETCD_HOST
    ETCD_DATA_DIR=/var/lib/etcd/data
    ETCD_LISTEN_PEER_URLS=https://ETCD_HOST_IP:2380,https://127.0.0.1:2380
    ETCD_LISTEN_CLIENT_URLS=https://ETCD_HOST_IP:2379,https://127.0.0.1:2379
    ETCD_INITIAL_ADVERTISE_PEER_URLS=https://ETCD_HOST_IP:2380
    ETCD_ADVERTISE_CLIENT_URLS=https://ETCD_HOST_IP:2379
    
    ETCD_INITIAL_CLUSTER=ETCD_HOST_1=https://ETCD_HOST_IP_1:2380,ETCD_HOST_2=https://ETCD_HOST_IP_2:2380,ETCD_HOST_3=https://ETCD_HOST_IP_3:2380
    
    ETCD_INITIAL_CLUSTER_STATE=new
    ETCD_INITIAL_CLUSTER_TOKEN=CLUSTER_NAME
    ETCD_ENABLE_V2=true
    
    ETCD_CLIENT_CERT_AUTH=true
    ETCD_TRUSTED_CA_FILE=/var/lib/etcd/ssl/etcd-ca.crt
    ETCD_CERT_FILE=/var/lib/etcd/ssl/etcd-tls.crt
    ETCD_KEY_FILE=/var/lib/etcd/ssl/etcd-tls.key
    ETCD_PEER_CLIENT_CERT_AUTH=true
    ETCD_PEER_TRUSTED_CA_FILE=/var/lib/etcd/ssl/etcd-ca.crt
    ETCD_PEER_CERT_FILE=/var/lib/etcd/ssl/etcd-tls.crt
    ETCD_PEER_KEY_FILE=/var/lib/etcd/ssl/etcd-tls.key
    

    Dengan:

    • ETCD_HOST: host etcd saat ini.
    • ETCD_HOST_IP: IP host etcd saat ini.
    • ETCD_HOST_1: nama node pertama di cluster etcd.
    • ETCD_HOST_IP_1: alamat IP node pertama di cluster etcd.
    • ETCD_HOST_2: nama node kedua di cluster etcd.
    • ETCD_HOST_IP_2: alamat IP node kedua di cluster etcd.
    • ETCD_HOST_3: nama node ketiga di cluster etcd.
    • ETCD_HOST_IP_3: alamat IP node ketiga di cluster etcd.
    • CLUSTER_NAME: nama cluster sesuai dengan bidang kontrol.
  4. Konfigurasi firewall untuk mengizinkan komunikasi TCP di port 2379 dan 2380.

  5. Mulai etcd:

    sudo systemctl enable etcd
    sudo systemctl start etcd
    

Menginstal komponen AlloyDB Omni di node pengelola cluster

  1. Di semua node pengelola cluster, buat file konfigurasi repositori YUM bernama /etc/yum.repos.d/alloydb-orchestrator.repo:

    [alloydbomni_orchestrator]
    name=AlloyDB Omni Orchestrator
    baseurl=ALLOYDB_OMNI_ORCHESTRATOR_REPOSITORY_URL
    enabled=1
    repo_gpgcheck=0
    gpgcheck=1
    gpgkey=REPO_GPG_KEY
    
  2. Instal pengelola cluster:

    sudo dnf install -y alloydbomni_cluster_manager
    
  3. Mulai pengelola cluster:

    sudo systemctl enable alloydbomni_cluster_manager
    sudo systemctl start alloydbomni_cluster_manager
    

Menginstal komponen AlloyDB Omni di node database

  1. Di semua node database, buat file konfigurasi repositori YUM bernama /etc/yum.repos.d/alloydb-omni.repo:

    [alloydbomni_core]
    name=AlloyDB Omni Core
    baseurl=ALLOYDB_OMNI_REPOSITORY_URL
    enabled=1
    repo_gpgcheck=0
    gpgcheck=1
    gpgkey=REPO_GPG_KEY
    
    [alloydbomni_common]
    name=AlloyDB Omni Common
    baseurl=ALLOYDB_OMNI_COMMON_REPOSITORY_URL
    enabled=1
    repo_gpgcheck=0
    gpgcheck=1
    gpgkey=REPO_GPG_KEY
    priority=1
    
    [alloydbomni_orchestrator]
    name=AlloyDB Omni Orchestrator
    baseurl=ALLOYDB_OMNI_ORCHESTRATOR_REPOSITORY_URL
    enabled=1
    repo_gpgcheck=0
    gpgcheck=1
    gpgkey=REPO_GPG_KEY
    
  2. Instal komponen:

    sudo dnf install -y alloydbomniPG_VERSION alloydbomni_monitor alloydbomni_node_manager pgbackrest
    
  3. Mulai pengelola node:

    sudo systemctl enable alloydbomni_node_manager
    sudo systemctl start alloydbomni_node_manager
    
  4. (Opsional) Jika Anda tidak menggunakan node load balancer terpisah, instal pgbouncer dan keepalived:

    sudo dnf install -y pgbouncer keepalived
    

Menginstal komponen AlloyDB Omni di node load balancer

  1. Di semua node load balancer, buat file konfigurasi repositori YUM bernama /etc/yum.repos.d/alloydb-omni-lb.repo:

    [pgbouncer]
    name=AlloyDB Omni Common
    baseurl=ALLOYDB_OMNI_COMMON_REPOSITORY_URL
    enabled=1
    repo_gpgcheck=0
    gpgcheck=1
    gpgkey=REPO_GPG_KEY
    priority=1
    
    [alloydbomni_node_manager]
    name=AlloyDB Omni Orchestrator
    baseurl=ALLOYDB_OMNI_ORCHESTRATOR_REPOSITORY_URL
    enabled=1
    repo_gpgcheck=0
    gpgcheck=1
    gpgkey=REPO_GPG_KEY
    
  2. Instal komponen load balancer:

    sudo dnf install -y alloydbomni_node_manager keepalived pgbouncer haproxy
    
  3. Mulai pengelola node:

    sudo systemctl enable alloydbomni_node_manager
    sudo systemctl start alloydbomni_node_manager
    

Ringkasan komponen AlloyDB Omni yang diinstal

Proses penginstalan men-deploy beberapa paket RPM utama, bergantung pada jenis node:

Jenis node Komponen yang diinstal Catatan
Node instance utama alloydbomniPG_VERSION, alloydbomni_monitor, alloydbomni_node_manager, pgbouncer, pgbackrest Komponen untuk mesin database, pemantauan, dan pengelolaan.
Node Load Balancer haproxy Opsional. Penginstalan dilewati jika node load balancer tidak tersedia.
Node pengelola cluster alloydbomni_cluster_manager Dapat diinstal pada node database jika tidak ada node khusus. Jika node pengelola cluster tidak ditentukan, komponen pengelola cluster akan diinstal di primary_instance_nodes.
node etcd etcd Dapat diinstal di node pengelola cluster jika diperlukan. Jika node etcd tidak ditentukan, etcd akan diinstal di cluster_manager_nodes

Meng-uninstal komponen

Jika Anda perlu menghapus penginstalan AlloyDB Omni dari lingkungan Anda—misalnya, untuk menonaktifkan cluster atau untuk mempersiapkan penginstalan ulang yang bersih—Anda dapat meng-uninstal semua komponen software-nya. Anda meng-uninstal AlloyDB Omni menggunakan Ansible atau dengan menghapus RPM secara manual dari setiap node.

Menghapus instalan komponen AlloyDB Omni menggunakan Ansible

Untuk menghapus komponen stack software AlloyDB Omni menggunakan Ansible, gunakan file inventaris yang ada dan playbook yang mereferensikan peran google.alloydbomni_orchestrator.uninstall.

  1. Buat playbook bernama uninstall.yaml.

    - name: Uninstall AlloyDB Omni cluster
      hosts: all
      vars:
        ansible_become: true
        ansible_user: SSH_USER
        ansible_ssh_private_key_file: SSH_KEY_PATH
      roles:
        - role: google.alloydbomni_orchestrator.uninstall
    

    Ganti kode berikut:

    • SSH_USER: nama pengguna yang Anda gunakan untuk terhubung ke node di cluster menggunakan SSH.
    • SSH_KEY_PATH: jalur ke file kunci pribadi SSH di node kontrol Anda — misalnya, ~/.ssh/id_rsa.
  2. Jalankan playbook. Anda harus meneruskan cleanup_data=true dan cleanup_config=true sebagai variabel tambahan untuk menghapus file konfigurasi dan direktori data.

    ansible-playbook -i deployment_spec.yaml uninstall.yaml -e "cleanup_data=true cleanup_config=true"
    

Menghapus komponen AlloyDB Omni secara manual

Jika Anda menggunakan CLI pengelola AlloyDB Omni, Anda harus menghapus RPM secara manual dari setiap node.

  1. Di semua node database, jalankan perintah berikut:

    sudo dnf remove -y alloydbomni_node_manager alloydbomniPG_VERSION alloydbomni_monitor pgbackrest keepalived pgbouncer
    
  2. Di semua node load balancer, jalankan perintah berikut:

    sudo dnf remove -y alloydbomni_node_manager keepalived haproxy pgbouncer
    
  3. Di semua node pengelola cluster, jalankan perintah berikut:

    sudo dnf remove -y alloydbomni_cluster_manager
    
  4. Opsional: Di semua node etcd, jalankan perintah berikut untuk meng-uninstal etcd dan membersihkan data etcd:

    sudo dnf remove -y etcd
    sudo rm -rf /var/lib/etcd/data
    

Langkah berikutnya