このページでは、AlloyDB Omni Kubernetes Operator の概要と、これを使用して AlloyDB Omni を Kubernetes クラスタにデプロイする手順について説明します。このページでは、Kubernetes のオペレーションについて基本的な知識があることを前提としています。
標準の Linux 環境に AlloyDB Omni をインストールする手順については、AlloyDB Omni をインストールするをご覧ください。
概要
AlloyDB Omni を Kubernetes クラスタにデプロイするには、Google が提供する Kubernetes API の拡張機能である AlloyDB Omni Operator をインストールします。
Kubernetes ベースの AlloyDB Omni データベース クラスタを構成して制御するには、他の Kubernetes ベースのデプロイと同様に、宣言型のマニフェスト ファイルを kubectl ユーティリティと組み合わせます。AlloyDB Omni CLI は使用しません。これは、Kubernetes クラスタではなく、個々の Linux マシンへのデプロイを目的としています。
始める前に
次のアクセス権が必要です。
- 次のソフトウェアを実行している Kubernetes クラスタ。
- Kubernetes バージョン 1.21 以降。
- cert-managerサービス。
 
- kubectlユーティリティ。
- helmパッケージ管理システム。
- 
gcloud CLI をインストールする必要がある場合、 gcloud initを実行する手順は省略可能です。AlloyDB Omni のインストールでは、Google アカウントによる認証は必要ありません。
Kubernetes クラスタ内の各ノードには、次のものが必要です。
- 2 個以上の x86 CPU または AMD64 CPU。
- 8 GB 以上の RAM。
- Linux カーネル バージョン 4.18 以降。
- コントロール グループ v2(cgroup v2)が有効になっている。
Helm チャートを使用する
alloydb-omni-samples リポジトリの Helm チャートを使用して、このガイドで説明するコンポーネントをデプロイできます。
AlloyDB Omni Operator をインストールする
AlloyDB Omni Operator をインストールする手順は次のとおりです。
- いくつかの環境変数を定義します。 - export GCS_BUCKET=alloydb-omni-operator- export HELM_PATH=$(gcloud storage cat gs://$GCS_BUCKET/latest)- export OPERATOR_VERSION="${HELM_PATH%%/*}"
- AlloyDB Omni Operator をダウンロードします。 - gcloud storage cp gs://$GCS_BUCKET/$HELM_PATH ./ --recursive
- AlloyDB Omni Operator をインストールします。 - helm install alloydbomni-operator alloydbomni-operator-${OPERATOR_VERSION}.tgz \ --create-namespace \ --namespace alloydb-omni-system \ --atomic \ --timeout 5m- インストールが正常に完了すると、次の出力が表示されます。 - NAME: alloydbomni-operator LAST DEPLOYED: CURRENT_TIMESTAMP NAMESPACE: alloydb-omni-system STATUS: deployed REVISION: 1 TEST SUITE: None
- ダウンロードした AlloyDB Omni Operator のインストール ファイルを削除してクリーンアップします。ファイル名は - alloydbomni-operator-VERSION_NUMBER.tgzで、現在の作業ディレクトリに配置されます。
データベース クラスタを作成する
AlloyDB Omni データベース クラスタには、プライマリ サーバー、レプリカ、すべてのデータなど、AlloyDB Omni サーバーの実行に必要なすべてのストレージ リソースとコンピューティング リソースが含まれています。
Kubernetes クラスタに AlloyDB Omni Operator がインストールされたら、次のようなマニフェストを適用して、Kubernetes クラスタに AlloyDB Omni データベース クラスタを作成できます。
apiVersion: v1
kind: Secret
metadata:
  name: db-pw-DB_CLUSTER_NAME
type: Opaque
data:
  DB_CLUSTER_NAME: "ENCODED_PASSWORD"
---
apiVersion: alloydbomni.dbadmin.goog/v1
kind: DBCluster
metadata:
  name: DB_CLUSTER_NAME
spec:
  databaseVersion: "15.5.2"
  primarySpec:
    adminUser:
      passwordRef:
        name: db-pw-DB_CLUSTER_NAME
    resources:
      cpu: CPU_COUNT
      memory: MEMORY_SIZE
      disks:
      - name: DataDisk
        size: DISK_SIZE
        storageClass: standard
次のように置き換えます。
- DB_CLUSTER_NAME: このデータベース クラスタの名前。例:- my-db-cluster
- ENCODED_PASSWORD: デフォルトの- postgresユーザーロールのデータベース ログイン パスワード。base64 文字列としてエンコードされます。例:- ChangeMe123の場合は- Q2hhbmdlTWUxMjM=
- CPU_COUNT: このデータベース クラスタ内の各データベース インスタンスで使用できる CPU の数。
- MEMORY_SIZE: このデータベース クラスタのデータベース インスタンスあたりのメモリ量。CPU ごとに 8 GB に設定することをおすすめします。たとえば、このマニフェストの前半で- cpuを- 2に設定した場合は、- memoryを- 16Giに設定することをおすすめします。
- DISK_SIZE: データベース インスタンスあたりのディスクサイズ。例:- 10Gi
このマニフェストを適用すると、Kubernetes クラスタに、指定されたメモリ、CPU、ストレージ構成を持つ AlloyDB Omni データベース クラスタが含まれます。新しいデータベース クラスタとのテスト接続を確立するには、事前インストールされた psql を使用して接続するをご覧ください。
Kubernetes マニフェストとその適用方法の詳細については、リソースの管理をご覧ください。