ネットワーキング

Verrazzanoインスタンスは、Verrazzanoコンポーネントといくつかのサード・パーティ製品で構成されています。これらのコンポーネントはまとめて、Verrazzanoシステム・コンポーネントと呼ばれます。また、Verrazzanoがインストールされた後、Verrazzanoインスタンスにユーザーがデプロイしたアプリケーションを含めることができます。アプリケーションはコンポーネントとも呼ばれますが、OAMコンポーネントと混同しないでください。

システム・コンポーネントとアプリケーションはすべて、ネットワークを一定程度使用します。Verrazzanoはネットワークを構成して、ネットワークのセキュリティとトラフィック管理を提供します。ネットワーク設定は、インストール時と実行時にKubernetesクラスタにデプロイされるアプリケーションとして構成されます。

概要

次の図は、ExternalDNSと証明書にLet’s Encryptを使用したVerrazzanoネットワークの概要を示しています。ExternalDNSおよびcert-managerはどちらもメッシュの外部で実行され、TLSを使用して外部サービスに接続します。この図では、Prometheusスクレイピングは示されていません。

Verrazzanoシステム・トラフィックは、TLSを介してプラットフォーム・ロード・バランサに入り、NGINX Ingress Controllerにルーティングされます。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はネットワークに関係する、次の処理を行います:

  1. NGINX Ingress Controllerをインストールして構成します。
  2. システム・コンポーネントのイングレス・リソースを作成します。
  3. Istioをインストールして構成します。
  4. Istio PeerAuthenticationリソースを作成して、メッシュの厳密なmTLSを有効にします。
  5. Istioエグレス・ゲートウェイ・サービスを作成します。
  6. Istioイングレス・ゲートウェイ・サービスを作成します。
  7. 複数のVerrazzanoシステム・コンポーネントをメッシュに配置するように構成します。
  8. オプションで、ExternalDNSをインストールし、DNSレコードを作成します。
  9. システム・コンポーネントによって使用される、TLSで必要な証明書を作成します。
  10. WebフックをコールするためにKubernetes APIサーバーで必要な証明書を作成します。
  11. すべてのシステム・コンポーネントにNetworkPoliciesを作成します。

アプリケーションのライフサイクルでのネットワーク構成

Verrazzanoは、デプロイおよび終了するアプリケーションに関連する、次の処理を行います:

  1. オプションで、IstioゲートウェイおよびVirtualServiceリソースを作成します。
  2. 必要に応じて、Istio AuthorizationPoliciesを作成します。
  3. 必要に応じて、Istio DestinationRulesを作成します。
  4. オプションで、アプリケーションの自己署名証明書を作成します。
  5. オプションで、ExternalDNSを使用してDNSレコードを作成します。

ネットワーク・トラフィック

Verrazzanoネットワーク・トラフィックの理解

ネットワーク・セキュリティ

Verrazzanoネットワーク・セキュリティの詳細