第1章 ネットワークについて
OpenShift Container Platform のネットワークの基礎を理解することで、クラスター内での効率的で安全な通信が確保されます。これは、効果的なネットワーク管理に不可欠です。環境内のネットワークに関する重要な要素には、Pod とサービスの通信方法、IP アドレスのロール、サービスディスカバリーのための DNS の使用などがあります。
1.1. OpenShift Container Platform のネットワーク リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform では、クラスター内のさまざまなコンポーネント間、および外部クライアントとクラスター間のシームレスな通信が確保されます。ネットワークは、次のコア概念とコンポーネントに依存します。
- Pod 間通信
- サービス
- DNS
- Ingress
- ネットワーク制御
- 負荷分散
1.1.1. ネットワークサービスの一般的な慣行 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform では、複数の Pod がサービスを提供している場合でも、サービスはクライアントが使用するための IP アドレスを 1 つ作成します。この抽象化により、クライアントに影響を与えることなく、シームレスなスケーリング、フォールトトレランス、ローリングアップグレードが可能になります。
ネットワークセキュリティーポリシーは、クラスター内のトラフィックを管理します。ネットワーク制御を行うことで、namespace 管理者は Pod の Ingress ルールと Egress ルールを定義できます。ネットワーク管理ポリシーを使用すると、クラスター管理者は namespace ポリシーを設定したり、namespace ポリシーをオーバーライドしたり、定義されていない場合にデフォルトのポリシーを設定したりできます。
Egress ファイアウォール設定は、Pod からの送信トラフィックを制御します。これらの設定により、許可された通信のみが実行されます。Ingress ノードファイアウォールは、着信トラフィックを制御することでノードを保護します。さらに、Universal Data Network はクラスター全体のデータトラフィックを管理します。
1.1.2. ネットワーク機能 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform は、いくつかのネットワーク機能と拡張機能を提供します。以下に、これらの機能と拡張機能をリストします。
- Ingress Operator と Route API: OpenShift Container Platform には、Ingress Controller API を実装する Ingress Operator が含まれています。このコンポーネントは、高度なルーティング設定と負荷分散をサポートする HAProxy ベースの Ingress Controller をデプロイおよび管理することで、クラスターサービスへの外部アクセスを可能にします。OpenShift Container Platform は、Route API を使用して、アップストリーム Ingress オブジェクトをルートオブジェクトに変換します。Route は OpenShift Container Platform のネットワーク固有のものですが、サードパーティーの Ingress Controller を使用することもできます。
セキュリティーの強化: OpenShift Container Platform は、Egress ファイアウォールや Ingress ノードファイアウォールなどの高度なネットワークセキュリティー機能を提供します。
- Egress ファイアウォール: Egress ファイアウォールは、クラスター内の Pod からの送信トラフィックを制御および制限します。Pod が通信できる外部ホストまたは IP 範囲を制限するルールを設定できます。
Ingress ノードファイアウォール: Ingress ノードファイアウォールは、Ingress Firewall Operator によって管理され、ノードレベルのファイアウォールルールを提供します。クラスター内の特定のノードにこのファイアウォールを設定して、着信トラフィックがこれらのノードに到達する前にフィルタリングすることで、ノードを脅威から保護できます。
注記OpenShift Container Platform は、Pod 間の通信を保護し、アクセス制御を適用するためのネットワークポリシー、管理ネットワークポリシー、Security Context Constraints (SCC) などのサービスも実装します。
- ロールベースのアクセス制御 (RBAC): OpenShift Container Platform は Kubernetes RBAC を拡張して、ネットワークリソースにアクセスして管理できるユーザーをより細かく制御できるようにします。RBAC は、クラスター内のセキュリティーとコンプライアンスの維持に役立ちます。
- マルチテナンシーサポート: OpenShift Container Platform は、複数のユーザーとチームがリソースを分離して安全に保ちながら同じクラスターを共有できるようにするマルチテナンシーサポートを提供します。
- ハイブリッドおよびマルチクラウド機能: OpenShift Container Platform は、オンプレミス環境、クラウド環境、マルチクラウド環境をまたいでシームレスに動作するように設計されています。この柔軟性により、組織はコンテナー化されたアプリケーションを、さまざまなインフラストラクチャーをまたいでデプロイおよび管理できます。
- 可観測性と監視: OpenShift Container Platform は、ネットワークの問題の管理とトラブルシューティングに役立つ、統合された可観測性および監視ツールを提供します。これらのツールには、ネットワークメトリクスとログへのロールベースのアクセスが含まれます。
- ユーザー定義ネットワーク (UDN): 管理者は、UDN を使用してネットワーク設定をカスタマイズできます。UDN は、ネットワーク分離と IP アドレス管理を強化します。
- Egress IP: Egress IP を使用すると、namespace 内の Pod から送信されるすべての Egress トラフィックに固定の送信元 IP アドレスを割り当てることができます。Egress IP は、外部サービスのソース IP アドレスの一貫性を確保することで、セキュリティーとアクセス制御を強化できます。たとえば、Pod が特定の IP アドレスからのトラフィックのみを許可する外部データベースにアクセスする必要がある場合、その Pod の Egress IP を設定してアクセス要件を満たすことができます。
- Egress ルーター: Egress ルーターは、クラスターと外部システム間のブリッジとして機能する Pod です。Egress ルーターを使用すると、Pod からのトラフィックを、他の目的で使用されていない特定の IP アドレス経由でルーティングできます。Egress ルーターを使用すると、アクセス制御を適用したり、特定のゲートウェイを経由してトラフィックをルーティングしたりできます。