AlloyDB Omni 설치

베어메탈용 Google Distributed Cloud (소프트웨어 전용) 클러스터에 AlloyDB Omni를 설치하고 실행합니다.

개요

Google Distributed Cloud for 베어메탈이 AlloyDB Omni (AlloyDB Omni Operator 버전 1.7.0부터)에 대한 파트너 자격 요건을 충족했습니다.

AlloyDB Omni는 다음을 지원하는 다운로드 가능한 데이터베이스 소프트웨어 패키지입니다.

  • PostgreSQL용 AlloyDB 간소화 버전을 배포할 수 있습니다.
  • PostgreSQL과 완전히 호환됩니다.
  • 트랜잭션 워크로드에서 높은 처리량을 제공합니다.
  • 분석 워크로드에 열 기반 엔진 가속을 제공합니다.
  • AlloyDB AI를 통해 생성형 AI 및 벡터 검색 워크로드에 대한 기본 지원을 제공합니다.

AlloyDB Omni Kubernetes 연산자를 사용하여 베어 메탈 클러스터에 AlloyDB Omni를 배포하고 관리합니다.

시작하기 전에

AlloyDB Omni를 설치하려면 다음이 필요합니다.

  • Kubernetes 버전 1.21 이상을 실행하는 Google Distributed Cloud 베어메탈 클러스터
  • 클러스터와 통신하도록 구성된 kubectl 명령줄 도구
  • 관리자 워크스테이션에 설치된 helm 패키지 관리자 (버전 3 이상)
  • 동적 볼륨 프로비저닝을 위해 베어메탈 클러스터에 구성된 기본 StorageClass 자세한 내용은 스토리지 개요를 참고하세요.
  • AlloyDB Omni의 최소 리소스 요구사항을 충족하는 클러스터의 노드:
    • 데이터베이스 인스턴스당 CPU 2개 이상
    • CPU당 RAM 8GB 이상 (예: CPU 2개인 경우 16GB)
    • 제어 그룹 (cgroup) v2가 사용 설정된 Linux 커널 4.18 이상

cert-manager 설치

AlloyDB Omni 운영자는 허용 웹훅의 TLS 인증서를 관리하기 위해 cert-manager가 필요합니다.

  1. cert-manager가 클러스터에 아직 설치되어 있지 않으면 Helm을 사용하여 설치합니다. sh helm repo add jetstack https://charts.jetstack.io helm repo update helm install cert-manager jetstack/cert-manager \ --namespace cert-manager \ --create-namespace \ --version v1.16.0 \ --set crds.enabled=true \ --kubeconfig KUBECONFIG

  2. KUBECONFIG를 클러스터 kubeconfig 파일의 경로로 바꿉니다.

  3. cert-manager 포드가 실행 중인지 확인합니다. sh kubectl get pods -n cert-manager --kubeconfig KUBECONFIG

    AlloyDB Omni 오퍼레이터 설치

Helm을 사용하여 OCI 레지스트리에서 AlloyDB Omni Kubernetes 연산자를 설치하려면 다음을 실행하세요.

  1. 연산자 Helm 차트를 설치합니다.

    helm install alloydbomni-operator oci://gcr.io/alloydb-omni/alloydbomni-operator \
        --version OPERATOR_VERSION \
        --create-namespace \
        --namespace alloydb-omni-system \
        $(helm install --help | grep -q -- '--rollback-on-failure' && echo '--rollback-on-failure' || echo '--atomic') \
        --timeout 5m \
        --kubeconfig KUBECONFIG
    

    다음을 바꿉니다.

    • OPERATOR_VERSION: 설치할 AlloyDB Omni Operator 버전입니다 (예: 1.8.0 이상).
    • KUBECONFIG: 클러스터 kubeconfig 파일의 경로입니다.
  2. 연산자 포드가 실행 중인지 확인합니다.

    kubectl get pods -n alloydb-omni-system --kubeconfig KUBECONFIG
    

    출력은 다음과 비슷합니다.

    NAME                                        READY   STATUS    RESTARTS   AGE
    fleet-controller-manager-796c698cd7-x2vsr   1/1     Running   0          22h
    local-controller-manager-76f6c98446-rzpsc   1/1     Running   0          22h
    

AlloyDB Omni 클러스터 만들기

연산자가 실행된 후 비밀번호 보안 비밀을 만들고 DBCluster 커스텀 리소스를 적용하여 AlloyDB Omni 데이터베이스 클러스터를 만듭니다.

  1. 데이터베이스 워크로드의 네임스페이스를 만듭니다.

    kubectl create namespace my-db-ns --kubeconfig KUBECONFIG
    
  2. 기본 postgres 사용자의 데이터베이스 관리자 로그인 비밀번호가 포함된 Kubernetes 보안 비밀을 만듭니다.

    kubectl create secret generic db-pw-my-db-cluster \
        --namespace my-db-ns \
        --from-literal=my-db-cluster=PASSWORD \
        --kubeconfig KUBECONFIG
    

    PASSWORD를 안전한 비밀번호로 바꿉니다.

  3. db-cluster.yaml이라는 매니페스트를 만듭니다.

    apiVersion: alloydbomni.dbadmin.goog/v1
    kind: DBCluster
    metadata:
      name: my-db-cluster
      namespace: my-db-ns
    spec:
      databaseVersion: "18.3.0"
      primarySpec:
        adminUser:
          passwordRef:
            name: db-pw-my-db-cluster
        resources:
          cpu: 2
          memory: 16Gi
          disks:
          - name: DataDisk
            size: 20Gi
    
  4. 매니페스트를 적용합니다.

    kubectl apply -f db-cluster.yaml --kubeconfig KUBECONFIG
    
  5. 데이터베이스 클러스터가 Ready 상태에 도달하는지 확인합니다.

    kubectl get dbclusters -n my-db-ns --kubeconfig KUBECONFIG
    

    출력은 다음과 비슷합니다.

    NAME            PRIMARY             PRIMARYSTATUS   STANDBY   STANDBYSTATUS   STATUS
    my-db-cluster   my-db-cluster-0     Ready                                     Ready
    

다음 단계