RPM オーケストレーターを使用して AlloyDB Omni をインストールする

ドキュメントのバージョンを選択してください。

このページでは、AlloyDB Omni オーケストレータを使用して AlloyDB Omni ソフトウェア スタックとその管理コンポーネントをインストールする方法について説明します。

始める前に

コンポーネントをインストールする前に、次の前提条件を満たしていることを確認してください。

  • オーケストレータをインストールする: AlloyDB Omni オーケストレータ Ansible コレクションまたは CLI がコントロール ノードにインストールされていることを確認します。
  • マシンをプロビジョニングする: スタンドアロンや高可用性など、選択したアーキテクチャに従って RHEL9 仮想マシンをプロビジョニングする必要があります。
  • ネットワークとファイアウォールを構成する: ノード間で必要なすべてのポートが開いていることを確認します。これには、データベース トラフィック用の 5432etcd 用の 2379/2380、クラスタ マネージャーとノード マネージャーで使用される管理ポート 670367026700 が含まれます。
  • ソフトウェア パッケージの依存関係を確認する: プライベート Yum リポジトリを介してソフトウェア パッケージを管理する場合は、リポジトリ管理の 手順に沿って、依存する RPM ファイルをリポジトリに含めます。

デプロイ仕様インベントリを準備する

オーケストレータは、Ansible インベントリ形式のデプロイ仕様ファイルを使用して、クラスタ トポロジを把握します。ノードの詳細を含む deployment_spec.yaml という名前のファイルを作成します。

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:

次のように置き換えます。

  • MANAGEMENT_CLUSTER_NAME: 管理クラスタの名前。同じノードにインストールされている場合は、データベース クラスタ名と同じにできます(例: my-management-cluster)。
  • SETUP_ETCD: オーケストレータが etcd クラスタを構成してブートストラップする必要があるかどうかを指定します。true に設定すると、オーケストレータは指定された etcd ノードで最初の etcd の設定と初期化を行います。deployment_spec で etcd ノードが定義されていない場合、デフォルトではクラスタ マネージャー ノードで etcd を構成します。このパラメータは、デプロイ仕様の etcd.setup キーに対応します。
  • FORCE_OVERWRITE_ETCD: 設定プロセス中に既存の etcd 構成ファイルを置き換えるかどうかを指定します。ターゲット ノードで既存の構成ファイルを上書きする場合は true に設定します。それ以外の場合は、false(デフォルト)に設定して既存の構成を維持し、意図しないサービスの中断を防ぎます。
  • ETCD_VERSION: インストールする etcd パッケージのバージョン(例: 3.4.13)。
  • ETCD_REPOSITORY_URL: etcd RPM を含むリポジトリの URL。
  • PG_VERSION: AlloyDB Omni インストールのメジャー PostgreSQL バージョン(例: 18)。
  • ALLOYDB_OMNI_VERSION: インストールする AlloyDB Omni データベース エンジンのバージョン(例: 18.1.0)。省略すると、オーケストレータは利用可能な最新バージョンをインストールします。
  • ALLOYDB_OMNI_COMMON_REPO_URL: AlloyDB Omni、monitor、PgBouncer、pgBackRest RPM を含む共通リポジトリの URL。
  • GPG_KEY: GNU Privacy Guard(GPG)検証用の Google の公開鍵の場所(例: https://dl.google.com/linux/linux_signing_key.pub)。すべての VM のファイルに鍵がダウンロードされている場合は、パスとして設定することもできます(例: /tmp/linux_signing_key.pub)。
  • ALLOYDB_OMNI_MONITOR_VERSION: インストールする AlloyDB Omni モニター パッケージのバージョン。デフォルトでは、利用可能な最新バージョンが使用されます。
  • ALLOYDB_OMNI_CLUSTER_MANAGER_VERSION: インストールする AlloyDB Omni クラスタ マネージャーのバージョン。省略すると、オーケストレータは利用可能な最新バージョンをインストールします。
  • ALLOYDB_OMNI_ORCHESTRATOR_REPO_URL: AlloyDB Omni クラスタ マネージャーとノード マネージャーの RPM を含むリポジトリの URL。
  • ALLOYDB_OMNI_NODE_MANAGER_VERSION: インストールする AlloyDB Omni ノード マネージャーのバージョン。省略すると、オーケストレータは利用可能な最新バージョンをインストールします。
  • ALLOYDB_OMNI_PGBOUNCER_VERSION: インストールする PgBouncer パッケージのバージョン。
  • ALLOYDB_OMNI_PGBACKREST_VERSION: インストールする pgBackRest パッケージのバージョン。
  • DB_HOST_1DB_HOST_2DB_HOST_3: データベース ノードとして指定された仮想マシンの IP アドレスまたは完全修飾ドメイン名(FQDN)。
  • LB_HOST_1LB_HOST_2: ロードバランサ ノードとして指定された仮想マシンの IP アドレスまたは完全修飾ドメイン名(FQDN)。
  • ETCD_HOST_1ETCD_HOST_2ETCD_HOST_3: etcd ノードとして指定された仮想マシンの IP アドレスまたは FQDN。
  • CM_HOST_1CM_HOST_2CM_HOST_3: クラスタ マネージャー ノードとして指定された仮想マシンの IP アドレスまたは FQDN。

コンポーネントをインストールする

AlloyDB Omni コンポーネントとその依存関係は、Ansible を使用してインストールすることも、各ノードにソフトウェア パッケージを手動でインストールすることもできます。

Ansible を使用して AlloyDB Omni コンポーネントをインストールする

インストールには、提供されている Ansible ロールを使用することをおすすめします。

  1. オーケストレータ コレクションからインストール ロールを参照する install.yaml という名前のハンドブックを作成します。

      - 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
    

    次のように置き換えます。

    • SSH_USER: SSH を使用してクラスタ内のノードに接続するために使用するユーザー名。
    • SSH_KEY_PATH: コントロール ノード上の SSH 秘密鍵ファイルのパス(例: ~/.ssh/id_rsa)。
  2. インベントリ ファイルを使用してハンドブックを実行し、指定されたすべてのノードに RPM をダウンロードしてインストールします。

      ansible-playbook -i deployment_spec.yaml install.yaml
    

AlloyDB Omni コンポーネントを手動でインストールする

Ansible を使用しない場合は、クラスタ内の各ノードに RPM を手動でインストールする必要があります。

  • REPO_GPG_KEY: GNU Privacy Guard(GPG)検証用の Google の公開鍵の場所(例: https://dl.google.com/linux/linux_signing_key.pub)。すべての VM のファイルに鍵がダウンロードされている場合は、パスとして設定することもできます(例: file:///tmp/linux_signing_key.pub)。

etcd ノードに AlloyDB Omni コンポーネントをインストールする

  1. すべての etcd ノードで、/etc/yum.repos.d/alloydb-etcd.repo という名前の YUM リポジトリ構成ファイルを作成します。

    [etcd]
    name=AlloyDB Omni ETCD
    baseurl=ETCD_REPOSITORY_URL
    enabled=1
    repo_gpgcheck=0
    gpgcheck=1
    gpgkey=REPO_GPG_KEY
    
  2. etcd をインストールします。

    sudo dnf install -y etcd
    
  3. 構成ファイルを編集して etcd をブートストラップします。AlloyDB Omni コンポーネントをインストールする前に、etcd をブートストラップする必要があります。

    etcd_nodes で、/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
    

    ここで

    • ETCD_HOST: 現在の etcd ホスト。
    • ETCD_HOST_IP: 現在の etcd ホスト IP。
    • ETCD_HOST_1: etcd クラスタ内の最初のノードの名前。
    • ETCD_HOST_IP_1: etcd クラスタ内の最初のノードの IP アドレス。
    • ETCD_HOST_2: etcd クラスタ内の 2 番目のノードの名前。
    • ETCD_HOST_IP_2: etcd クラスタ内の 2 番目のノードの IP アドレス。
    • ETCD_HOST_3: etcd クラスタ内の 3 番目のノードの名前。
    • ETCD_HOST_IP_3: etcd クラスタ内の 3 番目のノードの IP アドレス。
    • CLUSTER_NAME: コントロール プレーンに基づくクラスタ名。
  4. ポート 23792380 で TCP 通信を許可するようにファイアウォールを構成します。

  5. etcd を起動します。

    sudo systemctl enable etcd
    sudo systemctl start etcd
    

クラスタ マネージャー ノードに AlloyDB Omni コンポーネントをインストールする

  1. すべてのクラスタ マネージャー ノードで、/etc/yum.repos.d/alloydb-orchestrator.repo という名前の YUM リポジトリ構成ファイルを作成します。

    [alloydbomni_orchestrator]
    name=AlloyDB Omni Orchestrator
    baseurl=ALLOYDB_OMNI_ORCHESTRATOR_REPOSITORY_URL
    enabled=1
    repo_gpgcheck=0
    gpgcheck=1
    gpgkey=REPO_GPG_KEY
    
  2. クラスタ マネージャーをインストールします。

    sudo dnf install -y alloydbomni_cluster_manager
    
  3. クラスタ マネージャーを起動します。

    sudo systemctl enable alloydbomni_cluster_manager
    sudo systemctl start alloydbomni_cluster_manager
    

データベース ノードに AlloyDB Omni コンポーネントをインストールする

  1. すべてのデータベース ノードで、/etc/yum.repos.d/alloydb-omni.repo という名前の YUM リポジトリ構成ファイルを作成します。

    [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. コンポーネントをインストールします。

    sudo dnf install -y alloydbomniPG_VERSION alloydbomni_monitor alloydbomni_node_manager pgbackrest
    
  3. ノード マネージャーを起動します。

    sudo systemctl enable alloydbomni_node_manager
    sudo systemctl start alloydbomni_node_manager
    
  4. (省略可)個別のロードバランサ ノードを使用していない場合は、pgbouncerkeepalived をインストールします。

    sudo dnf install -y pgbouncer keepalived
    

ロードバランサ ノードに AlloyDB Omni コンポーネントをインストールする

  1. すべてのロードバランサ ノードで、/etc/yum.repos.d/alloydb-omni-lb.repo という名前の YUM リポジトリ構成ファイルを作成します。

    [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. ロードバランサ コンポーネントをインストールします。

    sudo dnf install -y alloydbomni_node_manager keepalived pgbouncer haproxy
    
  3. ノード マネージャーを起動します。

    sudo systemctl enable alloydbomni_node_manager
    sudo systemctl start alloydbomni_node_manager
    

インストールされている AlloyDB Omni コンポーネントの概要

インストール プロセスでは、ノードタイプに応じていくつかの重要な RPM パッケージがデプロイされます。

ノードタイプ インストールされているコンポーネント メモ
プライマリ インスタンス ノード alloydbomniPG_VERSIONalloydbomni_monitoralloydbomni_node_managerpgbouncerpgbackrest データベース エンジン、モニタリング、管理用のコンポーネント。
ロードバランサ ノード haproxy 省略可。ロードバランサ ノードが使用できない場合は、インストールはスキップされます。
クラスタ マネージャー ノード alloydbomni_cluster_manager 専用ノードがない場合は、データベース ノードにインストールできます。クラスタ マネージャー ノードが指定されていない場合、クラスタ マネージャー コンポーネントは primary_instance_nodes にインストールされます。
etcd ノード etcd 必要に応じて、クラスタ マネージャー ノードにインストールできます。etcd ノードが指定されていない場合、etcdcluster_manager_nodes にインストールされます。

コンポーネントをアンインストールする

クラスタの廃止やクリーンな再インストールの準備など、環境から AlloyDB Omni のインストールを削除する必要がある場合は、すべてのソフトウェア コンポーネントをアンインストールできます。AlloyDB Omni をアンインストールするには、Ansible を使用するか、各ノードから RPM を手動で削除します。

Ansible を使用して AlloyDB Omni コンポーネントをアンインストールする

Ansible を使用して AlloyDB Omni ソフトウェア スタック コンポーネントを削除するには、既存のインベントリ ファイルと、google.alloydbomni_orchestrator.uninstall ロールを参照するハンドブックを使用します。

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

    次のように置き換えます。

    • SSH_USER: SSH を使用してクラスタ内のノードに接続するために使用するユーザー名。
    • SSH_KEY_PATH: コントロール ノード上の SSH 秘密鍵ファイルのパス(例: ~/.ssh/id_rsa)。
  2. ハンドブックを実行します。構成ファイルとデータ ディレクトリを削除するには、追加の変数として cleanup_data=truecleanup_config=true を渡す必要があります。

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

AlloyDB Omni コンポーネントを手動でアンインストールする

AlloyDB Omni オーケストレータ CLI を使用している場合は、各ノードから RPM を手動で削除する必要があります。

  1. すべてのデータベース ノードで、次のコマンドを実行します。

    sudo dnf remove -y alloydbomni_node_manager alloydbomniPG_VERSION alloydbomni_monitor pgbackrest keepalived pgbouncer
    
  2. すべてのロードバランサ ノードで、次のコマンドを実行します。

    sudo dnf remove -y alloydbomni_node_manager keepalived haproxy pgbouncer
    
  3. すべてのクラスタ マネージャー ノードで、次のコマンドを実行します。

    sudo dnf remove -y alloydbomni_cluster_manager
    
  4. 省略可: すべての etcd ノードで、次のコマンドを実行して etcd をアンインストールし、etcd データをクリーンアップします。

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

次のステップ