始める前に
==========
始める前に、KubernetesとPostgreSQLに固有の用語を確認することが重要です。
Kubernetesの用語
----------------
`Node `_
\_node_は、Kubernetesの仮想または物理的なワーカーマシンであり、ポッドを実行するために必要なすべてのサービスがコントロールプレーンノードによって管理されます。
:ref:`Postgres Node <アーキテクチャ>`
\_Postgres
node_は、PostgreSQLワークロードの実行専用のKubernetesワーカーノードです。これは、
``node-role.kubernetes.io``
ラベルとテイントを :ref:`proposed by CloudNativePG <アーキテクチャ>` として適用することにより実現されます。
``postgres`` ノードとも呼ばれます。
`Pod `_
\_pod_は、Kubernetesクラスターに展開できる最小のコンピューティングユニットであり、ネットワークとストレージを共有する1つ以上のコンテナで構成されます。
`Service `_
\_service_は、ポッドのグループで実行され、アプリケーション全体のサービス検出、ロードバランシング、フェイルオーバーなどの重要な機能を標準化するアプリケーションをネットワークサービスとして公開する抽象化です。
`Secret `_
\_secret_は、パスワード、アクセスキー、トークンなどの少量の機密データを保存し、ポッドで使用するように設計されたオブジェクトです。
`Storage Class `_
\_storage class_を使用すると、管理者は、プロビジョナーAWS
EBSなど、再利用ポリシー、マウントオプション、ボリューム拡張などを含むクラスター内のストレージのクラスを定義できます。
`Persistent Volume `_
\_persistent
volume_PVは、管理者によって手動でプロビジョニングされたストレージ、または_storage
class_コントローラによって動的にプロビジョニングされたストレージを表すKubernetesクラスター内のリソースです。
PVは、\_persistent volume
resume_を使用してポッドに関連付けられ、そのライフサイクルはそれを使用するポッドから独立しています。通常、PVはネットワークボリューム、特にパブリッククラウドでは。
:ref:`_local persistent volume_(LPV) <ストレージ>` は、それを使用するポッドが実行されている特定のノードにのみ存在する永続ボリュームです。
`Persistent Volume Claim `_
\_persistent volume
resume_PVCは、ストレージの要求を表します。これには、サイズ、アクセスモード、または特定のストレージクラスが含まれる場合があります。ポッドがノードリソースを消費する方法と同様に、PVCはPVのリソースを消費します。
`Namespace `_
\_namespace_は、Kubernetesクラスターの論理的で分離されたサブセットであり、より広範な物理クラスター内の_virtual
cluster_として見ることができます。名前空間を使用すると、管理者はプロジェクト、部門、チームなどに基づいて分離された環境を作成できます。
`RBAC `_
\_role-based security_としても知られる_Role Based Access
Control_RBACは、コンピューターシステムのセキュリティで使用され、システムのネットワークとリソースへのアクセスを許可されたユーザーのみに制限する方法です。
Kubernetesには、名前空間とクラスターレベルでロールを制御し、特定のリソースと個人に関連付けるネイティブAPIがあります。
`CRD `_
\_カスタムリソース定義_CRDは、Kubernetes
APIの拡張機能であり、開発者は新しいデータ型とオブジェクト、\_カスタムリソース_と呼ばれますを作成できます。
`Operator `_
\_operator_は、1つ以上のアプリケーションまたは特定のサービスを管理するときに通常人間のオペレーターが実行する手順を自動化するカスタムリソースです。オペレーターは、Kubernetesを支援して、リソースの定義された状態が観察された状態と常に一致するようにします。
`kubectl `_
``kubectl``
は、Kubernetesクラスターの管理に使用されるコマンドラインツールです。
CloudNativePGには、コミュニティでサポートされているKubernetesバージョンが必要です。詳細は :ref:`サポートされているリリース <サポートされているリリース>` ページを参照してください。
PostgreSQLの用語
----------------
インスタンス
「IPアドレス」と「TCPポート」のペア通常は5432で実行およびリッスンするPostgresサーバープロセス。
プライマリ
読み取り操作と書き込み操作の両方を受け入れることができるPostgreSQLインスタンス。
レプリカ
クラスター内の唯一のプライマリインスタンスから複製するPostgreSQLインスタンス。先行書き込みログWALレコードのストリームを読み取ることにより更新されます。レプリカは、\_standby_または_secondary_serverとも呼ばれます。
PostgreSQLは、物理的ストリーミングレプリケーション非同期/同期とファイルベースのログ配布非同期に依存しています。
ホットスタンバイ
\_replica_が読み取り専用ワークロードを受け入れられるようにするPostgreSQL機能。
クラスター
高可用性HAクラスターとして意図され、単一のプライマリとオプションの任意の数のレプリカで構成されるPostgreSQLインスタンスのセット。
レプリカクラスター
選択したPostgreSQLクラスターから継続的リカバリモードにあるCloudNativePG
``Cluster``
。通常はKubernetesクラスターの外部にあります。これは、プライベート、パブリック、ハイブリッド、およびマルチクラウドのコンテキストでのマルチクラスター展開を有効にする機能です。
指定されたプライマリ
別のPostgreSQLクラスターから継続的リカバリーにあり、レプリカクラスターがプライマリになった場合にプライマリになるように指定されているレプリカクラスター内のPostgreSQLスタンバイインスタンス。
スーパーユーザー PostgreSQLでは、 \_superuser_は、 ``LOGIN``
と\ ``SUPERUSER``
の両方の特権を持つロールです。セキュリティ上の理由から、CloudNativePGは、ローカルのUnixドメインソケットを介して\ ``peer``
認証を介して\ ``postgres`` ユーザーとして\ ``postgres``
データベースに接続することにより、管理タスクを実行します。
`WAL `_
先行書き込みロギングWALは、データベース管理システムのデータの整合性を保証する標準の方法です。
PVCグループ
CloudNativePGの用語におけるPVCグループは、同じPostgreSQLインスタンス、つまりPGDATAを含むメインボリューム
``storage`` とWALのボリューム ``walStorage``
に属する関連PVCのグループです。
RTO 「recovery Time
Objective」の頭字語、アプリケーションに悪影響を与えることなくシステムを利用できない時間。
RPO
「目標復旧ポイント」の頭字語で、ディザスターリカバリーシナリオに従った許容可能なデータ損失のレベルの計算。
クラウド用語
------------
リージョン
クラウドの_region_は、\_アベイラビリティーゾーン_で編成された隔離された独立した地理的エリアです。リージョン内のゾーンの往復ネットワーク遅延はほとんどありません。
ゾーン
クラウドの_アベイラビリティーゾーン\__zone_としても知られるは、リソースを展開できるリージョンのエリアです。通常、アベイラビリティーゾーンは、データセンターまたは同じデータセンターの分離された建物に対応します。
次に何をするか
--------------
用語を理解したところで、選択したクラウド環境にオペレーターを展開する前に :ref:`test CloudNativePG on your laptop using a local cluster <クイックスタート>` を決定できます。