AlloyDB Omni をインストール

ベアメタル クラスタ用 Google Distributed Cloud(ソフトウェアのみ)に AlloyDB Omni をインストールして実行します。

概要

Google Distributed Cloud for ベアメタル は、AlloyDB Omni(AlloyDB Omni Operator バージョン 1.7.0 以降)のパートナー認定を完了しました。

AlloyDB Omni は、ダウンロード可能なデータベース ソフトウェア パッケージです。

  • AlloyDB for PostgreSQL の簡素化されたバージョンをデプロイできます。
  • PostgreSQL との完全な互換性を提供します。
  • トランザクション ワークロードで高スループットを実現します。
  • 分析ワークロード向けにカラム型エンジンの高速化を提供します。
  • AlloyDB AI を使用して、生成 AI とベクトル検索のワークロードを組み込みでサポートします。

AlloyDB Omni Kubernetes Operator を使用して、ベアメタル クラスタに AlloyDB Omni をデプロイして管理します。

始める前に

AlloyDB Omni をインストールする前に、次のものが必要です。

  • Kubernetes バージョン 1.21 以降を実行している Google Distributed Cloud ベアメタル クラスタ。
  • クラスタと通信するように構成された kubectl コマンドライン ツール。
  • 管理ワークステーションにインストールされた helm パッケージ マネージャー(バージョン 3 以降)。
  • 動的ボリューム プロビジョニング用にベアメタル クラスタで構成されたデフォルトの StorageClass。詳細については、ストレージの概要をご覧ください。
  • AlloyDB Omni の最小リソース要件を満たすクラスタ内のノード:
    • データベース インスタンスあたり 2 個以上の CPU。
    • CPU あたり 8 GB 以上の RAM(2 個の CPU の場合は 16 GB など)。
    • 対照群(cgroup)v2 が有効になっている Linux カーネル 4.18 以降。

cert-manager をインストールする

AlloyDB Omni Operator は、アドミッション Webhook の 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 Pod が実行されていることを確認します。 sh kubectl get pods -n cert-manager --kubeconfig KUBECONFIG

    AlloyDB Omni Operator をインストールする

Helm を使用して OCI レジストリから AlloyDB Omni Kubernetes Operator をインストールする手順は次のとおりです。

  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. Operator Pod が実行されていることを確認します。

    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. データベース ワークロードの Namespace を作成します。

    kubectl create namespace my-db-ns --kubeconfig KUBECONFIG
    
  2. デフォルトの postgres ユーザーのデータベース管理者ログイン パスワードを含む Kubernetes Secret を作成します。

    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
    

次のステップ