Sie können die Instanzkonfiguration des Lesepools in der Manifestdatei der Datenbankinstanz definieren. Für jede Lesepool-Instanz muss eine eindeutige Manifestdatei erstellt werden. Sie können bis zu 20 Lesepoolinstanzen erstellen.
Jede Lesepoolinstanz belegt genauso viel Speicherplatz wie die Instanz, die sie repliziert.
Asynchrone Lesepoolinstanz erstellen
So erstellen Sie eine asynchrone AlloyDB Omni-Lesepoolinstanz:
Erstellen Sie das Datenbankinstanzmanifest, um den Instanztyp des Lesepools zu definieren:
apiVersion: alloydbomni.dbadmin.goog/v1 kind: DBInstance metadata: name: READ_POOL_INSTANCE_NAME namespace: NAMESPACE spec: instanceType: ReadPool dbcParent: name: DB_CLUSTER_NAME
Ersetzen Sie Folgendes:
READ_POOL_INSTANCE_NAME
: Ein Name für diese Ressource, z. B.read-pool-instance-1
.NAMESPACE
: der Namespace des Datenbankclusters.DB_CLUSTER_NAME
: der Name des Datenbankclusters, zu dem die Instanz gehört.
Wenden Sie das Manifest an.
Instanzstatus prüfen
Mit dem folgenden Befehl können Sie die Verfügbarkeit der Lese-Pool-Instanz prüfen:
kubectl get dbinstance -n NAMESPACE READ_POOL_INSTANCE_NAME -o jsonpath='{.status.conditions[?(@.type=="Available")].status}'
Die Antwort true
gibt an, dass die Lesepoolinstanz Anfragen verarbeiten kann, aber möglicherweise keine Daten aus Ihrer Datenbankinstanz repliziert.
Führen Sie den folgenden Befehl aus, um den Streamingstatus der Lesepool-Instanz zu prüfen:
kubectl get dbinstance -n NAMESPACE READ_POOL_INSTANCE_NAME -o jsonpath='{.status.conditions[?(@.type=="Streaming")].status}'
Die Antwort true
gibt an, dass die Lesepool-Instanz mit Ihrer Datenbankinstanz verbunden ist und Änderungen aktiv streamt.
Wenn Ihre Datenbankinstanz nicht erreichbar ist, werden die Anfragen weiterhin von der Lesepoolinstanz verarbeitet. In diesem Fall ist der Verfügbarkeitsstatus true
und der Streamingstatus false
.
Nachdem Sie die Lesepoolinstanz eingerichtet haben, sind alle Einfügungen, Aktualisierungen und Löschungen von Zeilen in Ihrer Instanz in der Lesepoolinstanz lesbar.