Créer une instance de pool de lecture asynchrone dans Kubernetes

Pour augmenter le débit de lecture et la disponibilité de votre cluster de base de données, vous pouvez créer une instance de pool de lecture asynchrone de votre instance de base de données. Une instance de pool de lecture fournit un clone en lecture seule de votre instance de base de données, ce qui garantit l'accès aux données même si votre instance de base de données devient indisponible.

Vous pouvez définir la configuration de l'instance de pool de lecture dans le fichier manifeste de l'instance de base de données. Chaque instance de pool de lecture nécessite la création d'un fichier manifeste unique. Vous pouvez créer jusqu'à 20 instances de pool de lecture.

Chaque instance de pool de lecture occupe la même quantité d'espace de stockage que l'instance qu'elle réplique.

Créer une instance de pool de lecture asynchrone

Pour créer une instance de pool de lecture asynchrone AlloyDB Omni, procédez comme suit:

  1. Créez le fichier manifeste de l'instance de base de données pour définir le type d'instance de pool de lecture:

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

    Remplacez les éléments suivants :

    • READ_POOL_INSTANCE_NAME: nom de cette ressource (par exemple, read-pool-instance-1).

    • NAMESPACE: espace de noms du cluster de base de données.

    • DB_CLUSTER_NAME: nom du cluster de base de données auquel l'instance appartient.

  2. Appliquez le fichier manifeste.

Vérifier l'état de l'instance

Pour vérifier la disponibilité de l'instance de pool de lecture, exécutez la commande suivante:

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

La réponse true indique que l'instance de pool de lecture peut répondre aux requêtes, mais qu'elle ne réplique peut-être pas les données de votre instance de base de données.

Pour vérifier l'état de streaming de l'instance de pool de lecture, exécutez la commande suivante:

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

La réponse true indique que l'instance de pool de lecture est connectée à votre instance de base de données et qu'elle diffuse activement les modifications.

Lorsque votre instance de base de données est inaccessible, l'instance de pool de lecture continue de répondre aux requêtes. Dans ce cas, l'état de disponibilité est true, tandis que l'état de streaming est false.

Une fois l'instance de pool de lecture configurée, toutes les insertions, mises à jour et suppressions de lignes de votre instance deviennent lisibles dans votre instance de pool de lecture.