可以設定共用單一 PostgreSQL 資料庫和 Redis 節點的多個 RaaS 節點。此方法有時也稱為叢集化。

這些指示示範了如何在使用單一節點安裝案例的主要 RaaS 節點上安裝 PostgreSQL 和 Redis 服務。

備註: 某些高可用性需求可能需要諮詢服務。

開始之前

若要設定多個 RaaS 節點,所有 RaaS 節點必須:

  • 存取相同的 PostgreSQL 資料庫
  • 共用相同的金鑰空間
  • 使用相同的 /etc/raas/pki/.raas.key/etc/raas/raas.secconf 檔案

設定多個 RaaS 節點之前,請按照步驟使用單一節點安裝案例安裝兩個獨立的 RaaS 節點。在此案例結束時,兩個節點都應在獨立模式下執行 SaltStack Config,這意味著每個節點都有自己的 PostgreSQL 和 Redis 本機版本。

設定主要 RaaS 節點

設定第一個 RaaS 節點:

  1. 請按照步驟使用節點少於 1000 個的情況下安裝 SaltStack Config案例安裝兩個獨立的 RaaS 節點。在此案例結束時,兩個節點都應在獨立模式下執行 SaltStack Config,這意味著每個節點都有自己的 PostgreSQL 和 Redis 本機版本。
  2. 在第一個 RaaS 節點上,使用下列命令停止 RaaS、Redis 和 PostgreSQL 服務:
    systemctl stop raas
    systemctl stop redis
    systemctl stop postgresql-12
    備註:

    如果執行的是其他版本,則用於停止 PostgreSQL 的命令可能會有所不同。

  3. 在第一個 RaaS 節點上,更新 postgresqlpg_hba.conf 檔案以允許來自其他 RaaS 節點的遠端連線。若要允許遠端連線,請將下列項目附加到該檔案的結尾,以將範例 IP 位址取代為第二個 RaaS 節點的 IP 位址:
    # Allow connection from RaaS 2
    host all all 127.31.4.137/32 trust
  4. 更新 /etc/redis.conf 檔案以允許繫結至所有介面。依預設,繫結設定為 localhost。在檔案中新增以下內容:
    #bind 127.0.0.1
  5. 使用下列命令啟動服務並驗證其狀態:
    systemctl start postgresql-12
    systemctl status postgresql-12
    systemctl start redis
    systemctl status redis
    systemctl start raas
    systemctl status raas
  6. 使用第一個 RaaS 節點的 URL 存取 SaltStack Config 使用者介面,以確認 SaltStack Config 是否在第一個節點上正常運作。

設定次要 RaaS 節點

本節說明如何設定第二個 RaaS 節點以與主要 RaaS 節點搭配使用。

設定第二個 RaaS 節點:

  1. 在第二個 RaaS 節點上,使用下列命令停止 RaaS、Redis 和 PostgreSQL 服務:
    systemctl stop raas
    systemctl stop redis
    systemctl stop postgresql-12
  2. 在第二個 RaaS 節點上,更新 /etc/raas/raas 檔案以連線至第一個 RaaS 節點上的遠端 Redis 和 PostgreSQL 服務。兩個節點上的 customer_id 組態應相同。以下顯示了組態範例:
    customer_id: 43cab1f4-de60-4ab1-85b5-1d883c5c5d09
    sql:
      dialect: postgresql
      host: 172.31.8.237
      port: 5432
      driver: psycopg2
      ssl: True
    
    redis:
      url: redis://172.31.8.237:6379
  3. /etc/raas/pki/.raas.key/etc/raas/secconf 從第一個節點複製到第二個節點。維持存取權和權限,如以下範例所示:
    # ls -l /etc/raas/raas.secconf
    -rw-------. 1 raas raas 313 Jan 2117:21 /etc/raas/raas.secconf
    # ls -l /etc/raas/pki/.raas.key
    -rwx------. 1 raas raas 77 Jan 2117:17 /etc/raas/pki/.raas.key
  4. 使用下列命令啟動 RaaS 服務並驗證其狀態:
    systemctl start raas
    systemctl status raas
  5. 使用第二個 RaaS 節點的 URL 存取 SaltStack Config 使用者介面,以確認 SaltStack Config 是否在第二個節點上正常運作。

測試組態

測試新系統架構是否正常運作:

  1. 若要測試組態,請建立一個新物件,例如新目標。確認重新整理使用者介面後,兩個節點上是否均顯示變更。
  2. 在第二個 RaaS 節點上,使用下列命令停用 Redis 和 PostgreSQL 服務:
    systemctl disable redis
    systemctl disable postgresql-12