第8章 ネットワークセキュリティー
8.1. ネットワークの namespace
OpenShift Container Platform はソフトウェア定義ネットワーク (SDN) を使用して、クラスター全体でのコンテナー間の通信を可能にする統一クラスターネットワークを提供します。
ネットワークの namespace を使用すると、Pod のネットワークを分離することができます。各 Pod には独自の IP およびバインドするポートの範囲が設定されるため、Pod のネットワークは相互に分離されます。異なるプロジェクトの Pod は、別のプロジェクトの Pod およびサービスとパケットの送受信をすることができなくなります。これを利用して、クラスター内の開発者環境、テスト環境、および実稼働環境を分離することもできます。
OpenShift Container Platform は、ルーターまたはファイアウォールのいずれかを使用して Egress トラフィックを制御する機能も提供します。たとえば、IP のホワイトリストを使用して、データベースのアクセスを制御できます。
関連資料
- 『OpenShift Container Platform Architecture』:「Networking」
- 『OpenShift Container Platform クラスター管理』:「ネットワークの管理」
- 『Red Hat Enterprise Linux Atomic Host Managing Containers』:「Running Super-Privileged Containers」
8.2. アプリケーションの分離
OpenShift Container Platform では、ユーザー、チーム、アプリケーション、および環境を分離するマルチテナントのクラスターを作成するために、単一のクラスター上でネットワークのトラフィックをセグメント化することができます。
たとえば、クラスター内でプロジェクトネットワークを分離するか、またはその逆も行う場合は、以下を実行します。
$ oc adm pod-network isolate-projects <project1> <project2>
上記の例では、<project1>
および <project2>
内のすべての Pod とサービスは、クラスター内の他の非グローバルプロジェクトの Pod とサービスにはアクセスできず、その逆からもアクセスすることはできません。