[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["難以理解","hardToUnderstand","thumb-down"],["資訊或程式碼範例有誤","incorrectInformationOrSampleCode","thumb-down"],["缺少我需要的資訊/範例","missingTheInformationSamplesINeed","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-09-04 (世界標準時間)。"],[[["\u003cp\u003eRead pool instances enhance database cluster availability and read throughput by providing read-only clones.\u003c/p\u003e\n"],["\u003cp\u003eEach read pool instance requires a unique manifest file and can be configured within the database instance's manifest.\u003c/p\u003e\n"],["\u003cp\u003eUp to 20 read pool instances can be created per database instance, with each occupying the same storage as the source.\u003c/p\u003e\n"],["\u003cp\u003eRead pool instances continue to serve queries even if the primary database instance is unreachable, although streaming will be temporarily halted.\u003c/p\u003e\n"],["\u003cp\u003eChanges made to the primary instance, such as inserts, updates, and deletions, will become readable on the read pool instance.\u003c/p\u003e\n"]]],[],null,["# Create an asynchronous read pool instance in Kubernetes\n\nSelect a documentation version: 15.5.4keyboard_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/15.5.4/docs/kubernetes-ha#create-read-only-instance).\n\nCreate an asynchronous read pool instance\n-----------------------------------------\n\nTo 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 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\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."]]