ネットワーキング
ノート
Oracle Verrazzano Enterprise Container PlatformのPremier Supportは、https://www.oracle.com/us/assets/lifetime-support-middleware-069163.pdfに記載されているように、2024年10月31日で終了します。その日以降、Oracle Verrazzanoは無期限のSustaining Supportに移行します。それより後のリリース、更新または修正はなくなります。詳細は、My Oracle Support Note 2794708.1を参照してください。Verrazzanoインスタンスは、Verrazzanoコンポーネントといくつかのサード・パーティ製品で構成されています。これらのコンポーネントはまとめて、Verrazzanoシステム・コンポーネントと呼ばれます。また、Verrazzanoがインストールされた後、Verrazzanoインスタンスにユーザーがデプロイしたアプリケーションを含めることができます。アプリケーションはコンポーネントとも呼ばれますが、OAMコンポーネントと混同しないでください。
システム・コンポーネントとアプリケーションはすべて、ネットワークを一定程度使用します。Verrazzanoはネットワークを構成して、ネットワークのセキュリティとトラフィック管理を提供します。ネットワーク設定が構成されるのは、インストール時と、実行時にアプリケーションがKubernetesクラスタにデプロイされるときの両方です。
概要
次の図は、ExternalDNSと証明書にLet’s Encryptを使用したVerrazzanoネットワークの概要を示しています。ExternalDNSおよびcert-managerはどちらもメッシュの外部で実行され、TLSを使用して外部サービスに接続します。この図では、Prometheusスクレイピングは示されていません。
Verrazzanoシステム・トラフィックは、TLSを介してプラットフォーム・ロード・バランサに入り、NGINX Ingress Controllerにルーティングされます。TLSはここで終了します。そこから、トラフィックは相互TLS認証(mTLS)経由でメッシュ内のシステム・コンポーネントの1つにルーティングされるか、メッシュの外部のシステム・コンポーネントにHTTPを使用してルーティングされます。
アプリケーション・トラフィックはTLS経由で2つ目のOracle Cloud Infrastructureロード・バランサに入り、Istioイングレス・ゲートウェイにルーティングされ、ここでTLSが終了します。そこから、トラフィックはmTLSを使用して複数のアプリケーションのいずれかにルーティングされます。
ノート: アプリケーションはメッシュの外部にデプロイできますが、Istioイングレス・ゲートウェイはプレーン・テキストを使用してトラフィックを送信します。Istio Gateway Passthroughの説明に従って、追加の構成を行い、TLSパススルーを有効にする必要があります。
ネットワークの概要図
プラットフォーム・ネットワーク接続
Kubernetesクラスタは、Oracle OKE、オンプレミス・インストール、ハイブリッド・クラウド・トポロジなど、プラットフォームにインストールされます。Verrazzanoがインタフェースを持つのはKubernetesとのみで、プラットフォーム・トポロジやネットワーク・セキュリティについては関知しません。ネットワーク接続があることが確認されている必要があります。たとえば、イングレスでは、Verrazzanoコンソールおよびアプリケーションにクラスタへのエントリ・ポイントを提供するプラットフォーム・ロード・バランサを使用します。これらのロード・バランサのIPアドレスは、ユーザーがアクセスできる必要があります。マルチクラスタの場合、クラスタは異なるプラットフォーム・テクノロジ上にあり、それらの間にファイアウォールがある場合もあります。ここでも、クラスタがネットワーク接続されていることを確認する必要があります。
インストール時のネットワーク構成
ネットワーク関連の構成のサマリーは次のとおりです。
Verrazzanoはネットワークに関係する、次の処理を行います:
- NGINX Ingress Controllerをインストールして構成します。
- システム・コンポーネントのイングレス・リソースを作成します。
- Istioをインストールして構成します。
- Istio PeerAuthenticationリソースを作成して、メッシュの厳密なmTLSを有効にします。
- Istioエグレス・ゲートウェイ・サービスを作成します。
- Istioイングレス・ゲートウェイ・サービスを作成します。
- 複数のVerrazzanoシステム・コンポーネントをメッシュに配置するように構成します。
- オプションで、ExternalDNSをインストールし、DNSレコードを作成します。
- システム・コンポーネントによって使用される、TLSで必要な証明書を作成します。
- WebフックをコールするためにKubernetes APIサーバーで必要な証明書を作成します。
- すべてのシステム・コンポーネントにNetworkPoliciesを作成します。
アプリケーションのライフサイクルでのネットワーク構成
Verrazzanoは、デプロイおよび終了するアプリケーションに関連する、次の処理を行います:
- オプションで、IstioゲートウェイおよびVirtualServiceリソースを作成します。
- 必要に応じて、Istio AuthorizationPoliciesを作成します。
- 必要に応じて、Istio DestinationRulesを作成します。
- オプションで、アプリケーションの自己署名証明書を作成します。
- オプションで、ExternalDNSを使用してDNSレコードを作成します。