Quickstart

このセクションでは、 種類 または Minikubeでのテスト のローカルKubernetesクラスターでCloudNativePGを使用して、ラップトップ/コンピューターでPostgreSQLクラスターをテストする方法について説明します。

警告

このセクションに含まれる手順は、デモンストレーション、テスト、および実践のみを目的としたものであり、稼動環境では使用しないでください。

他のKubernetesアプリケーションと同様に、CloudNativePGはYAMLで記述された通常のマニフェストを使用してデプロイされます。

このページの指示に従うことで、ローカルKubernetesインストールでPostgreSQLclusterをスタートし、それを試すことができるはずです。

重要

Kubernetesクラスターに接続オーダーには、マシンに kubectl がインストールされていることを確認してください。 how to install `kubectl <https://kubernetes.io/docs/tasks/tools/install-kubectl/>`__ のKubernetesの文書に従ってください。

パート1-ローカルKubernetesプレイグラウンドのセットアップ

最初のパートは、MinikubeまたはKindのインストールについてです。システムについて時間をかけて読んで、どちらのシステムに進むかを決めてください。いずれかのシステムをセットアップしたら、パート2に進んでください。

ミニクベ

Minikubeは、Kubernetesをローカルで簡単に実行できるツール。 Minikubeは、Kubernetesを毎日試したり開発したりするために、ラップトップ上の仮想マシン(VM)内で単一ノードKubernetesクラスターとして実行されます。通常、VirtualBoxと組み合わせて使用します。

詳細については、ローカルの個人環境の公式Kubernetes documentation on how toinstall Minikubeを参照してください。インストールしたら、次のコマンドを実行してminikubeクラスターを作成します。

minikube start

これによりKubernetesクラスターが作成され、使用する準備が整います。次のコマンドで動作することを確認します。

kubectl get nodes

minikube という1つのノードが表示されます。

種類

仮想マシンハイパーバイザーを使用したくない場合、KindはDockerコンテナー「ノード」を使用してローカルKubernetesクラスターを実行するためのツール(Kindは「Kubernetes IN Docker」の略です)。

クイックスタート の指示に従って、環境に kind

をインストールしてから、次を使用してKubernetesクラスターを作成します。

kind create cluster --name pg

パート2-CloudNativePGのインストール

ラップトップでKubernetesをインストールして実行しているので、CloudNativePGのインストールを続行できます。

Installation and upgrades セクションを参照して、

PostgreSQLクラスターの展開を進めてください。

パート3- PostgreSQLクラスターをデプロイする

Kubernetesの他の展開と同様に、 PostgreSQLクラスターを展開するには、目的の Cluster を定義する構成ファイルを適用する必要があります。

cluster-example.yaml サンプルファイルは、デフォルトのストレージクラスを使用してディスクスペースを割り当てるシンプル

Cluster を定義しています。

#  Example of PostgreSQL cluster
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
  name: cluster-example
spec:
  instances: 3

  # Example of rolling update strategy:
  # - unsupervised: automated update of the primary once all
  #                 replicas have been upgraded (default)
  # - supervised: requires manual supervision to perform
  #               the switchover of the primary
  primaryUpdateStrategy: unsupervised

  # Require 1Gi of space
  storage:
    size: 1Gi

3ノードのPostgreSQLクラスターを作成するには、オーダーのコマンドを実行する必要があります。

kubectl apply -f cluster-example.yaml

get pods コマンドを使用して、ポッドが作成されていることを確認できます。

kubectl get pods

デフォルトでは、演算子は、リリースされたときにPostgreSQLの最新のメジャーバージョンの利用可能な最新のマイナーバージョンをインストールし演算子。これは、 Cluster 定義の spec セクションで imageName キーを設定することでオーバーライドできます。例、 PostgreSQL 13.6をインストールするには:

apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
   # [...]
spec:
   # [...]
   imageName: ghcr.io/cloudnative-pg/postgresql:13.6
   #[...]

重要

不変のインフラストラクチャパラダイムでは、コンテナイメージの特定のバージョンを常にポイントする必要があります。実稼動環境では、 latest や 13 などのタグを使用しないでください。クラスター内の更新ポリシーとバージョンの一貫性に関して予測できないシナリオが発生する可能性があります。厳密で確定的で反復可能なデプロイメントの場合、 <image>:<tag>@sha256:<digestValue> フォーマットを使用して、イメージ名前にダイジェストを追加できます。