第1章 ネットワークについて
OpenShift Container Platform において、回復性、安全性、スケーラビリティーの高いアプリケーションを構築するためには、ネートワークについて理解することが必要不可欠です。基本的な Pod 間通信から複雑なトラフィックルーティングやセキュリティールールまで、アプリケーションのあらゆるコンポーネントは、正常に機能するためにネットワークに依存しています。
1.1. コアネットワーク層とコンポーネント リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Networking は、pod network と service network という基本的な 2 つの層の上に構築されます。Pod ネットワークは、アプリケーションが存在する場所です。サービスネットワークは、アプリケーションへのアクセスを確実なものにするために必要です。
1.1.1. Pod ネットワーク リンクのコピーリンクがクリップボードにコピーされました!
Pod ネットワークは、クラスター内のすべての Pod が一意の IP アドレスを受け取るフラットなネットワーク領域です。このネットワークは、Container Network Interface (CNI) プラグインによって管理されます。CNI プラグインは、各 Pod をクラスターネットワークに接続する役割を担います。
この設計により、Pod はどのノードで実行されているかにかかわらず、IP アドレスを使用して互いに直接通信できるようになります。ただし、これらの Pod IP は一時的なものです。つまり、Pod が破棄されると IP も破棄され、新しい Pod の作成時に新しい IP アドレスが割り当てられます。そのため、長時間の通信では Pod の IP アドレスに直接依存しないでください。
1.1.2. サービスネットワーク リンクのコピーリンクがクリップボードにコピーされました!
サービスは、ClusterIP と呼ばれる単一の安定した仮想 IP アドレスと、Pod の論理グループの DNS 名を提供するネットワークオブジェクトです。
リクエストがサービスの ClusterIP に送信されると、OpenShift Container Platform は、そのサービスをサポートする正常な Pod の 1 つにトラフィックを自動的に負荷分散します。そのとき、Kubernetes ラベルとセレクターを使用して、どの Pod がどのサービスに属しているかを追跡します。この抽象化により、Pod にアクセスしようとするアプリケーションに影響を与えることなく、個々の Pod を作成または破棄できるため、アプリケーションの耐障害性が向上します。