Networking
CloudNativePGは、基になるKubernetesクラスターに必要な接続が既に設定されていることを前提としています。 Kubernetesでのネットワーキングは、重要かつ拡張されたトピックです。詳細については、
Kubernetes documentation を参照してください。
クイックスタートガイドに従ってローカルのKinDまたはK3dクラスターにCloudNativePGをインストールしている場合、どちらのプラットフォームもデフォルトでネットワーク制限を追加しないため、ネットワークの問題は発生しないはずです。
ただし、既存のインフラストラクチャにCloudNativePGを展開する場合、ネットワーク制限が適用される場合があり、オペレーターとPostgreSQLクラスターとの通信を損なう可能性があります。具体的には、既存の Network Policies
特定の種類のトラフィックを制限する場合があります。
または、セキュリティを強化するために環境にネットワークポリシーを追加することに興味がある場合があります。 security document で述べたように、オペレーターがポート8000および5432ですべてのクラスターポッドに到達でき、ポッドが相互に接続できることを確認してください。
オペレーターのクロス名前空間ネットワークポリシー
クイックスタートガイドに従うか、展開にhelmチャートを使用すると、オペレーターが専用の名前空間デフォルトでcnpg-system
にインストールされます。クラスターは別の名前空間に作成することをお勧めします。
オペレーターはクラスターポッドに接続できる必要があります。これは、名前空間を越えたトラフィックを制限するNetworkPolicy
がある場合、妨げられる可能性があります。
例、 kubernetes guide on network policies
デフォルトですべての入力トラフィックを拒否するポリシーの例が含まれています。
ローカルkubernetesセットアップにこの種の制限的なネットワークポリシーがある場合、
NetworkPolicy
を作成して、オペレーター名前空間とポッドからクラスター名前空間とポッドへの接続を明示的に許可する必要があります。このリポジトリの
networkpolicy-example.yaml ファイルに例があります。特定のセットアップに一致するようにクラスター名とクラスター名前空間を調整する必要があることに注意してください。デフォルトの名前空間でない場合は、オペレーター名前空間も調整する必要があります。
クロスクラスターネットワーキング
別のクラスターから レプリカクラスターのブートストラップ を使用している間、またはexternalClusters
セクションを使用している場合、関係するすべてのクラスター、オブジェクトストア、および名前空間間の接続を確認します。
繰り返しになりますが、 Kubernetes documentation を参照してください。
セットアップ情報については。