[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["很难理解","hardToUnderstand","thumb-down"],["信息或示例代码不正确","incorrectInformationOrSampleCode","thumb-down"],["没有我需要的信息/示例","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-09-04。"],[[["\u003cp\u003eAsynchronous read pool instances enhance database cluster read throughput and availability by providing read-only clones.\u003c/p\u003e\n"],["\u003cp\u003eEach read pool instance is configured via a unique manifest file, allowing for up to 20 instances per cluster.\u003c/p\u003e\n"],["\u003cp\u003eEach read pool instance requires the same storage capacity as the original database instance it replicates.\u003c/p\u003e\n"],["\u003cp\u003eThe read pool instance's availability and streaming replication status can be checked via separate \u003ccode\u003ekubectl\u003c/code\u003e commands.\u003c/p\u003e\n"],["\u003cp\u003eWhen the original database instance becomes unavailable, the read pool instance remains available to serve queries.\u003c/p\u003e\n"]]],[],null,["# Create an asynchronous read pool instance in Kubernetes\n\nSelect a documentation version: Current (16.8.0)keyboard_arrow_down\n\n- [Current (16.8.0)](/alloydb/omni/current/docs/kubernetes-read-pool)\n- [16.8.0](/alloydb/omni/16.8.0/docs/kubernetes-read-pool)\n- [16.3.0](/alloydb/omni/16.3.0/docs/kubernetes-read-pool)\n- [15.12.0](/alloydb/omni/15.12.0/docs/kubernetes-read-pool)\n- [15.7.1](/alloydb/omni/15.7.1/docs/kubernetes-read-pool)\n- [15.7.0](/alloydb/omni/15.7.0/docs/kubernetes-read-pool)\n- [15.5.5](/alloydb/omni/15.5.5/docs/kubernetes-read-pool)\n- [15.5.4](/alloydb/omni/15.5.4/docs/kubernetes-read-pool)\n- [15.5.2](/alloydb/omni/15.5.2/docs/kubernetes-read-pool)\n\n\u003cbr /\u003e\n\nTo increase read throughput and availability of your database cluster, you can create an asynchronous read pool instance of your database instance. A read pool instance provides a read-only clone of your database instance ensuring data access even if your database instance becomes unavailable.\n\n\u003cbr /\u003e\n\nYou can define the read pool instance configuration in the database instance's manifest file. Each read pool instance requires creating a unique manifest file. You can create up to 20 read pool instances.\n\nEach read pool instance occupies the same amount of storage as the instance it replicates.\n| **Note:** You can configure your instance's standby replica to be used as a synchronous read-only instance. For more information, see [Use the standby as a read-only instance](/alloydb/omni/current/docs/kubernetes-ha#create-read-only-instance).\n\nCreate an asynchronous read pool instance\n-----------------------------------------\n\nYou can create any number of read pool instances in your database cluster. To create an AlloyDB Omni asynchronous read pool instance, complete\nthe following steps:\n\n1. Create the database instance manifest to define the read pool instance type:\n\n apiVersion: alloydbomni.dbadmin.goog/v1\n kind: DBInstance\n metadata:\n name: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eREAD_POOL_INSTANCE_NAME\u003c/span\u003e\u003c/var\u003e\n namespace: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eNAMESPACE\u003c/span\u003e\u003c/var\u003e\n spec:\n instanceType: ReadPool\n nodeCount: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eREAD_POOL_INSTANCE_SIZE\u003c/span\u003e\u003c/var\u003e\n dbcParent:\n name: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eDB_CLUSTER_NAME\u003c/span\u003e\u003c/var\u003e\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eREAD_POOL_INSTANCE_NAME\u003c/var\u003e: a name for this resource---for\n example, `read-pool-instance-1`.\n\n - \u003cvar translate=\"no\"\u003eNAMESPACE\u003c/var\u003e: the namespace of the database cluster.\n\n - \u003cvar translate=\"no\"\u003eDB_CLUSTER_NAME\u003c/var\u003e: the name of the database cluster to which the instance belongs.\n\n - \u003cvar translate=\"no\"\u003eREAD_POOL_INSTANCE_SIZE\u003c/var\u003e: the number of nodes in a read\n pool instance. This determines the instance's overall computing capacity. You can\n have a maximum of 20 nodes per read pool instance.\n\n | **Caution:** Creating too many read pool instances in your database cluster might reduce the primary instance's performance.\n2. Apply the manifest.\n\nVerify instance status\n----------------------\n\nTo verify the availability of the read pool instance, run the following command: \n\n kubectl get dbinstance -n \u003cvar translate=\"no\"\u003eNAMESPACE\u003c/var\u003e \u003cvar translate=\"no\"\u003eREAD_POOL_INSTANCE_NAME\u003c/var\u003e -o jsonpath='{.status.conditions[?(@.type==\"Available\")].status}'\n\nThe response `true` indicates that the read pool instance can serve queries,\nbut might not be replicating data from your database instance.\n\nTo verify the streaming status of the read pool instance, run the following command: \n\n kubectl get dbinstance -n \u003cvar translate=\"no\"\u003eNAMESPACE\u003c/var\u003e \u003cvar translate=\"no\"\u003eREAD_POOL_INSTANCE_NAME\u003c/var\u003e -o jsonpath='{.status.conditions[?(@.type==\"Streaming\")].status}'\n\nThe response `true` indicates that the read pool instance is connected to your\ndatabase instance and actively streaming changes.\n\nWhen your database instance is unreachable, the read pool instance continues to\nserve the queries. In this case, the availability status will be `true` while\nthe streaming status will be `false`.\n\nAfter you set up the read pool instance, all inserts, updates, and deletions to rows in\nyour instance become readable on your read pool instance."]]