事前準備
安裝元件前,請務必完成下列必要條件:
- 安裝自動調度管理工具:確認控制節點已安裝 AlloyDB Omni 自動調度管理工具 Ansible 集合或 CLI。
- 佈建機器:您必須根據所選架構 (例如獨立或高可用性),佈建 RHEL9 虛擬機器。
- 設定網路和防火牆:確認節點之間已開啟所有必要通訊埠。包括用於資料庫流量的
5432、用於etcd的2379/2380,以及叢集管理工具和 Node Manager 使用的管理通訊埠6703、6702和6700。 - 檢查軟體套件依附元件:如果您透過私人 Yum 存放區管理軟體套件,請按照存放區管理的操作說明,將依附的 RPM 檔案納入存放區。
準備 Deployment 規格清單
自動調度管理工具會使用 Ansible 庫存格式的 Deployment 規格檔案,瞭解叢集拓撲。建立名為 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。這個參數對應至 Deployment 規格中的etcd.setup鍵。FORCE_OVERWRITE_ETCD:決定是否要在設定程序中取代現有的etcd設定檔。設為true可覆寫目標節點上的現有設定檔;否則,請設為false(預設值),以保留現有設定並避免服務意外中斷。ETCD_VERSION:要安裝的 etcd 套件版本,例如3.4.13。ETCD_REPOSITORY_URL:包含etcdRPM 的存放區網址。PG_VERSION:AlloyDB Omni 安裝作業的主要 PostgreSQL 版本,例如18。ALLOYDB_OMNI_VERSION:要安裝的 AlloyDB Omni 資料庫引擎版本,例如18.1.0。如果省略,系統會安裝最新可用版本。ALLOYDB_OMNI_COMMON_REPO_URL:通用存放區的網址,其中包含 AlloyDB Omni、監控工具、PgBouncer 和 pgBackRest RPM。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。ALLOYDB_OMNI_NODE_MANAGER_VERSION:要安裝的 AlloyDB Omni 節點管理工具版本。如果省略,協調器會安裝最新可用版本。ALLOYDB_OMNI_PGBOUNCER_VERSION:要安裝的 PgBouncer 套件版本。ALLOYDB_OMNI_PGBACKREST_VERSION:要安裝的 pgBackRest 套件版本。DB_HOST_1、DB_HOST_2、DB_HOST_3:指定為資料庫節點的虛擬機器 IP 位址或完整網域名稱 (FQDN)。LB_HOST_1、LB_HOST_2:指定為負載平衡器節點的虛擬機器 IP 位址或完整網域名稱 (FQDN)。ETCD_HOST_1、ETCD_HOST_2、ETCD_HOST_3:指定為etcd節點的虛擬機器 IP 位址或 FQDN。CM_HOST_1、CM_HOST_2、CM_HOST_3:指定為叢集管理工具節點的虛擬機器 IP 位址或 FQDN。
安裝元件
您可以使用 Ansible 安裝 AlloyDB Omni 元件及其依附元件,也可以在每個節點上,手動安裝軟體套件。
使用 Ansible 安裝 AlloyDB Omni 元件
建議使用提供的 Ansible 角色進行安裝。
建立名為
install.yaml的教戰手冊,參照 orchestrator 集合中的安裝角色。- name: Install AlloyDB Omni cluster components hosts: all become: true vars: 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。
如要下載並安裝所有指定節點的元件,請使用清單檔案執行應對手冊。
ansible-playbook -i deployment_spec.yaml install.yaml
不使用 Ansible 安裝 AlloyDB Omni 元件
如果您沒有 Ansible 環境,且打算使用 Orchestrator CLI 管理叢集,則必須手動安裝所有元件,因為 Orchestrator CLI 不會自動安裝元件。
在所有節點上安裝元件
下表列出所有節點類型和要安裝的對應元件 (RPM)。
| 節點 | 軟體元件 (RPM) | 注意事項 |
|---|---|---|
control node |
alloydbomni_orchestrator |
|
primary_instance_nodes |
alloydbomni18alloydbomni_monitoralloydbomni_node_managerkeepalivedpgbackrestpgbouncer |
只有在沒有負載平衡器的環境中,才需要 Keepalived 和 pgbouncer。 |
etcd_nodes |
etcd |
如果沒有 ETCD 專屬節點,可以將 ETCD 安裝在叢集管理員節點上。 |
cluster_manager_nodes |
alloydbomni_cluster_manager |
如果沒有 Cluster Manager 專用節點,可以將叢集管理工具安裝在資料庫節點 (primary_instance_nodes) 上。 |
load_balancer_nodes |
alloydbomni_node_managerhaproxykeepalivedpgbouncer |
只有在已設定負載平衡器的環境中,負載平衡器節點才會安裝 keepalived 和 pgbouncer。 |
安裝指令:
REPO_GPG_KEY:Google 公開金鑰的位置,用於 GPG 驗證,例如https://dl.google.com/linux/linux_signing_key.pub。下載並放置在所有 VM 後,也可以設為檔案路徑,例如file:///tmp/linux_signing_key.pub。
在 etcd 節點上安裝 AlloyDB Omni 元件
在所有
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安裝
etcd:sudo dnf install -y etcd編輯設定檔,啟動
etcd。您必須先啟動etcd,才能安裝 AlloyDB Omni 元件。在
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叢集中第二個節點的名稱。ETCD_HOST_IP_2:etcd叢集中第二個節點的 IP 位址。ETCD_HOST_3:etcd叢集中第三個節點的名稱。ETCD_HOST_IP_3:etcd叢集中第三個節點的 IP 位址。CLUSTER_NAME:控制層的叢集名稱。
設定防火牆,允許透過通訊埠
2379和2380進行 TCP 通訊。啟動 etcd:
sudo systemctl enable etcd sudo systemctl start etcd
在主要執行個體節點上安裝 AlloyDB Omni 元件
在所有
primary_instance_nodes上,建立名為/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在所有
primary_instance_nodes上安裝alloydbomni18、alloydbomni_monitor、alloydbomni_node_manager和pgbackrest:sudo dnf install -y alloydbomni18 alloydbomni_monitor alloydbomni_node_manager pgbackrest(選用) 如果沒有負載平衡器節點 (
load_balancer_nodes),請安裝pgbouncer和keepalived:sudo dnf install -y pgbouncer keepalived安裝
alloydbomni_node_manager後,必須先設定alloydbomni_node_manager,才能啟動服務。確認 Deployment 規格檔案 (deployment_spec.yaml) 已複製到所有對應的 VM:sudo /usr/local/bin/alloydbomni_nm_config apply -d deployment_spec.yaml
在叢集管理工具節點上安裝 AlloyDB Omni 元件
在所有叢集管理工具節點上,建立名為
/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安裝叢集管理工具:
sudo dnf install -y alloydbomni_cluster_manager安裝
alloydbomni_cluster_manager並完成etcd的啟動程序後,必須先設定alloydbomni_cluster_manager,才能啟動服務。sudo /usr/local/bin/alloydbomni_cm_config apply -d deployment_spec.yaml
在負載平衡器節點上安裝 AlloyDB Omni 元件
在所有負載平衡器節點上,建立名為
/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安裝負載平衡器元件:
sudo dnf install -y alloydbomni_node_manager keepalived pgbouncer haproxy安裝
alloydbomni_node_manager並完成etcd的啟動程序後,必須先設定alloydbomni_node_manager,才能啟動服務。確認 Deployment 規格檔案 (deployment_spec.yaml) 已複製到所有對應的 VM:sudo /usr/local/bin/alloydbomni_nm_config apply -d deployment_spec.yaml
已安裝的 AlloyDB Omni 元件摘要
安裝程序會根據節點類型部署多個重要 RPM 套件:
| 節點類型 | 已安裝的元件 | 附註 |
|---|---|---|
| 主要執行個體節點 | alloydbomniPG_VERSION、alloydbomni_monitor、alloydbomni_node_manager、pgbouncer、pgbackrest |
資料庫引擎、監控和管理元件。 |
| 負載平衡器節點 | haproxy |
選用。如果負載平衡器節點無法使用,系統會略過安裝程序。 |
| 叢集管理工具節點 | alloydbomni_cluster_manager |
如果沒有專用節點,可以安裝在資料庫節點上。如未指定叢集管理工具節點,叢集管理工具元件會安裝在 primary_instance_nodes。 |
| etcd 節點 | etcd |
視需要安裝在叢集管理工具節點上。如未指定 etcd 節點,etcd 會安裝在 cluster_manager_nodes |
解除安裝元件
如要從環境中移除 AlloyDB Omni 安裝項目 (例如停用叢集或準備全新重新安裝),可以解除安裝所有軟體元件。如要解除安裝 AlloyDB Omni,請使用 Ansible,或手動移除各節點的 RPM。
使用 Ansible 解除安裝 AlloyDB Omni 元件
如要使用 Ansible 移除 AlloyDB Omni 軟體堆疊元件,請使用現有的庫存檔案和參照 google.alloydbomni_orchestrator.uninstall 角色的工作手冊。
建立名為
uninstall.yaml的應對手冊。- name: Uninstall AlloyDB Omni cluster hosts: all become: true vars: 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。
執行應對手冊。您必須傳遞
cleanup_data=true和cleanup_config=true做為額外變數,才能移除設定檔和資料目錄。ansible-playbook -i deployment_spec.yaml uninstall.yaml -e "cleanup_data=true cleanup_config=true"
手動解除安裝 AlloyDB Omni 元件
如果您使用 AlloyDB Omni 自動調度管理工具 CLI,則必須手動從各個節點移除 RPM。
在所有資料庫節點上執行下列指令:
sudo dnf remove -y alloydbomni_node_manager alloydbomniPG_VERSION alloydbomni_monitor pgbackrest keepalived pgbouncer在所有負載平衡器節點上,執行下列指令:
sudo dnf remove -y alloydbomni_node_manager keepalived haproxy pgbouncer在所有叢集管理員節點上執行下列指令:
sudo dnf remove -y alloydbomni_cluster_manager選用:在所有 etcd 節點上執行下列指令,解除安裝 etcd 並清除 etcd 資料:
sudo dnf remove -y etcd sudo rm -rf /var/lib/etcd/data
後續步驟
如要自備 TLS 憑證和金鑰檔案,請參閱「AlloyDB Omni 如何使用 TLS」。