始める前に

始める前に、Kubernetes と PostgreSQL に固有の用語について確認することが不可欠です。

Kubernetes の用語

Resource

Description

:ref:``nodeSelector` によるノード選択<nodeSelector によるノード選択>`

ノード は、仮想または物理のいずれかの Kubernetes のワーカーマシンであり、ポッドを実行するために必要なすべてのサービスがコントロール プレーン ノードによって管理されます。

ポッド セキュリティ ポリシー

ポッド は、Kubernetes クラスターにデプロイできる最小のコンピューティング ユニットであり、ネットワークとストレージを共有する 1 つ以上のコンテナーで構成されます。

:ref:``microservice` タイプ<microservice タイプ>`

サービス は、ポッドのグループで実行されるアプリケーションをネットワーク サービスとして公開し、アプリケーション間のサービス検出、負荷分散、フェイルオーバーなどの重要な機能を標準化する抽象化です。

オペレーター シークレットの定義

secret は、パスワード、アクセス キー、トークンなどの少量の機密データを保存し、ポッドで使用するように設計されたオブジェクトです。

ストレージ クラスによる構成

ストレージ クラス を使用すると、管理者はクラスター内のストレージのクラスを定義できます。これには、プロビジョナー (AWS EBS など)、再利用ポリシー、マウント オプション、ボリューム拡張などが含まれます。

永続ボリュームの要求

永続ボリューム (PV) は、管理者によって手動でプロビジョニングされた、または ストレージ クラス コントローラーによって動的にプロビジョニングされたストレージを表す Kubernetes クラスター内のリソースです。 PV は persistent volume claim を使用して Pod に関連付けられ、そのライフサイクルはそれを使用する Pod から独立しています。通常、PV は、特にパブリック クラウドではネットワーク ボリュームです。 *local persistent volume* (LPV) は、それを使用するポッドが実行されている特定のノードにのみ存在する永続ボリュームです。

永続ボリュームの要求

永続ボリューム クレーム (PVC) は、ストレージの要求を表し、サイズ、アクセス モード、または特定のストレージ クラスが含まれる場合があります。ポッドがノード リソースを消費するのと同様に、PVC は PV のリソースを消費します。

Namespace

名前空間 は、Kubernetes クラスターの論理的で分離されたサブセットであり、より広い物理クラスター内の 仮想クラスター と見なすことができます。名前空間を使用すると、管理者はプロジェクト、部門、チームなどに基づいて個別の環境を作成できます。

役割ベースのアクセス制御 (RBAC)

Role Based Access Control (RBAC) は、role-based security とも呼ばれ、コンピューター システムのセキュリティで使用される方法で、システムのネットワークとリソースへのアクセスを許可されたユーザーのみに制限します。 Kubernetes には、名前空間とクラスター レベルで役割を制御し、それらを特定のリソースと個人に関連付けるためのネイティブ API があります。

CRD によるオペランド イメージのオーバーライド

カスタム リソース定義 (CRD) は Kubernetes API の拡張機能であり、開発者は カスタム リソースと呼ばれる 新しいデータ型とオブジェクトを作成できます。

オペレーター マニフェストを直接使用する

オペレーター は、1 つ以上のアプリケーションまたは特定のサービスを管理する際に人間のオペレーターによって通常実行される手順を自動化するカスタム リソースです。オペレーターは、リソースの定義された状態が常に観察された状態と一致するように Kubernetes を支援します。

:ref:``kubectl` に cnpg プラグインを使用する<kubectl に cnpg プラグインを使用する>`

kubectl は、Kubernetes クラスターの管理に使用されるコマンドライン ツールです。

CloudNativePG には、コミュニティでサポートされている Kubernetes バージョンが必要です。詳細は サポートされているリリース ページを参照してください。

PostgreSQL 用語

Resource

Description

Instance

「IP アドレス」と「TCP ポート」のペア (通常は 5432) で実行およびリッスンする Postgres サーバー プロセス。

Primary

読み取り操作と書き込み操作の両方を受け入れることができる PostgreSQL インスタンス。

Replica

クラスター内の唯一のプライマリ インスタンスからレプリケートする PostgreSQL インスタンスであり、先行書き込みログ (WAL) レコードのストリームを読み取ることによって更新されます。レプリカは、スタンバイ または セカンダリ サーバーとも呼ばれます。 PostgreSQL は、物理ストリーミングレプリケーション(非同期/同期) とファイルベースのログ シッピング (非同期) に依存しています。

Hot Standby

*レプリカ*が読み取り専用のワークロードを受け入れることを可能にする PostgreSQL の機能。

Cluster

高可用性 (HA) クラスターとして意図されている: 1 つのプライマリとオプションの任意の数のレプリカで構成される一連の PostgreSQL インスタンス。

Replica Cluster

選択した PostgreSQL クラスターからの継続的な復旧モードにある CloudNativePG Cluster。通常は Kubernetes クラスターの外部に存在します。これは、プライベート、パブリック、ハイブリッド、およびマルチクラウドのコンテキストでマルチクラスターの展開を可能にする機能です。

Designated Primary

別の PostgreSQL クラスターから継続的に復旧され、レプリカ クラスターがプライマリになる場合にプライマリになるように指定されている、レプリカ クラスター内の PostgreSQL スタンバイ インスタンス。

Superuser

PostgreSQL では、スーパーユーザー は LOGIN と SUPERUSER の両方の特権を持つロールです。セキュリティ上の理由から、CloudNativePG は、ローカルの Unix ドメイン ソケットを介して peer 認証を介して postgres ユーザーとして postgres データベースに接続することにより、管理タスクを実行します。

WALアーカイブ

Write-Ahead Logging (WAL) は、データベース管理システムでデータの整合性を確保するための標準的な方法です。

PVC group

CloudNativePG の用語における PVC グループは、同じ PostgreSQL インスタンスに属する関連する PVC のグループです。つまり、PGDATA を含むメイン ボリューム (storage) と WAL 用のボリューム (walStorage) です。

クラウド用語

Resource

Description

Region

クラウドの リージョン は、アベイラビリティ ゾーン で編成された、隔離された独立した地理的エリアです。リージョン内のゾーンでは、往復のネットワーク レイテンシがほとんどありません。

Zone

クラウドの アベイラビリティ ゾーン (ゾーン とも呼ばれます) は、リソースを展開できるリージョン内の領域です。通常、アベイラビリティ ゾーンは、データ センターまたは同じデータ センターの独立した建物に対応します。

次はどうする

用語に慣れてきたので、選択したクラウド環境にオペレーターをデプロイする前に、 test CloudNativePG on your laptop using a local cluster を決定できます。