在 Kubernetes 中建立非同步讀取集區執行個體

選取文件版本:

如要提高資料庫叢集的讀取輸送量和可用性,可以建立資料庫執行個體的非同步讀取集區執行個體。讀取集區執行個體會提供資料庫執行個體的唯讀副本,確保即使資料庫執行個體無法使用,您仍可存取資料。

您可以在資料庫執行個體的資訊清單檔案中定義讀取集區執行個體設定。每個讀取集區執行個體都需要建立專屬的資訊清單檔案。您最多可以建立 20 個讀取集區執行個體。

每個讀取集區執行個體占用的儲存空間量,與其複製的執行個體相同。

建立非同步讀取集區執行個體

如要建立 AlloyDB Omni 非同步讀取集區執行個體,請完成下列步驟:

  1. 建立資料庫執行個體資訊清單,定義讀取集區執行個體類型:

    apiVersion: alloydbomni.dbadmin.goog/v1
    kind: DBInstance
    metadata:
      name: READ_POOL_INSTANCE_NAME
      namespace: NAMESPACE
    spec:
      instanceType: ReadPool
      dbcParent:
        name: DB_CLUSTER_NAME
    

    更改下列內容:

    • READ_POOL_INSTANCE_NAME:這個資源的名稱,例如 read-pool-instance-1

    • NAMESPACE:資料庫叢集的命名空間。

    • DB_CLUSTER_NAME:執行個體所屬的資料庫叢集名稱。

  2. 套用資訊清單。

確認執行個體狀態

如要確認讀取集區執行個體是否可用,請執行下列指令:

  kubectl get dbinstance -n NAMESPACE READ_POOL_INSTANCE_NAME -o jsonpath='{.status.conditions[?(@.type=="Available")].status}'

回應 true 表示讀取集區執行個體可以處理查詢,但可能不會複製資料庫執行個體的資料。

如要驗證讀取集區執行個體的串流狀態,請執行下列指令:

  kubectl get dbinstance -n NAMESPACE READ_POOL_INSTANCE_NAME -o jsonpath='{.status.conditions[?(@.type=="Streaming")].status}'

回應 true 表示讀取集區執行個體已連線至資料庫執行個體,並主動串流處理變更。

如果無法連線至資料庫執行個體,讀取集區執行個體仍會繼續處理查詢。在這種情況下,供應情形狀態會是 true,而串流狀態會是 false

設定讀取集區執行個體後,您在執行個體中插入、更新及刪除的資料列,都會在讀取集區執行個體中顯示。