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입니다.

읽기 풀 인스턴스를 설정하면 인스턴스의 행에 대한 모든 삽입, 업데이트, 삭제가 읽기 풀 인스턴스에서 읽을 수 있게 됩니다.