ADC

Kubernetes Ingress ソリューション

このトピックでは、Citrixが提供するKubernetes Ingressソリューションの概要と利点について説明します。

Kubernetes Ingressとは

Kubernetes クラスター内でアプリケーションを実行する場合、外部ユーザーが Kubernetes クラスターの外部からアプリケーションにアクセスする方法を提供する必要があります。Kubernetes は、安定した IP アドレスを使用して複数のサービスを公開する最も効果的な方法を提供する Ingress というオブジェクトを提供します。Kubernetes 入力オブジェクトは、常に 1 つ以上のサービスに関連付けられ、外部ユーザーがクラスター内で実行されているサービスにアクセスするための単一エントリポイントとして機能します。

次の図は、Kubernetes Ingress の動作を説明しています。 Kubernetes Ingress

Kubernetes Ingress の実装は、次のコンポーネントで構成されています。

  • 入力リソース。Ingress リソースを使用すると、クラスターの外部からアプリケーションにアクセスするためのルールを定義できます。

  • 入力Controller Ingress Controller は、Ingress で定義されているルールを解釈するクラスター内にデプロイされたアプリケーションです。Ingress Controllerは、Ingress ルールをクラスタと統合した負荷分散アプリケーションの構成指示に変換します。ロードバランサーは、Kubernetes クラスター内で実行されるソフトウェアアプリケーション、またはクラスター外で実行されるハードウェアアプライアンスです。

  • 入力デバイス。入力デバイスは、Citrix ADC CPX、VPX、MPXなどの負荷分散アプリケーションで、入力Controller が提供する構成指示に従って負荷分散を実行します。

Citrix の Kubernetes Ingress ソリューションは何ですか

このソリューションでは、Citrix ADC(Citrix ADC CPX、VPX、またはMPX)を使用して Kubernetes クラスターにトラフィックを管理およびルーティングするために、Kubernetes Ingress Controller を実装しています。Citrix ingress controller は、Citrix ADCをKubernetes環境と統合し、イングレスルールに従ってCitrix ADC CPX、VPX、またはMPXを構成します。

標準的な Kubernetes Ingress ソリューションは、レイヤ 7(HTTP または HTTPS トラフィック)でのみロードバランシングを提供します。場合によっては、TCP、UDP、またはアプリケーションに依存する多くのレガシーアプリケーションを公開し、それらのアプリケーションの負荷分散の方法が必要になる場合があります。Citrix Kubernetes入力ソリューションは、標準のHTTPまたはHTTPS入力とは別に、TCP、TCP、SSL、およびUDPトラフィックをサポートします。また、複数のクラウドまたはオンプレミスのデータセンター間でシームレスに動作します。

Citrix ADCは、書き換えポリシーやレスポンダーポリシーなどのエンタープライズグレードのトラフィック管理ポリシーを提供し、レイヤー7でトラフィックを効率的に負荷分散します。ただし、Kubernetes Ingress には、このようなエンタープライズレベルのトラフィック管理ポリシーがありません。CitrixのKubernetes Ingressソリューションを使用すると、Citrixが提供するCRDを使用して、Kubernetes環境のアプリケーショントラフィックにリライトポリシーとレスポンダポリシーを適用できます。

CitrixのKubernetes Ingressソリューションは、CI/CDアプリケーションパイプラインの自動カナリア展開もサポートしています。このソリューションでは、Citrix ADCはSpinnakerプラットフォームと統合され、Kayentaを使用してCanary展開を分析するための正確なメトリックを提供するソースとして機能します。メトリクスを分析した後、Kayenta はカナリアの集計スコアを生成し、カナリアバージョンを昇格または失敗することを決定します。Citrix ADCポリシーインフラストラクチャを使用して、Canaryバージョンへのトラフィック配信を規制することもできます。

次の表は、Citrix の Ingress ソリューションが Kubernetes Ingress よりも提供する利点をまとめたものです。

機能 Kubernetes Ingress Citrix からの進入ソリューション
HTTP および HTTPS のサポート はい はい
URL ルーティング はい はい
TLS はい はい
負荷分散 はい はい
TCP、TCP-SSL いいえ はい
UDP いいえ はい
HTTP/2 はい はい
CI/CDツールによるカナリア導入の自動サポート いいえ はい
Citrix ADCのリライトポリシーとレスポンダー​ ポリシーの適用のサポート いいえ はい
認証(オープン認証(OAuth)、相互 TLS(MTL)) いいえ はい
Citrixのレート制限ポリシーの適用のサポート いいえ はい

Kubernetes Ingress ソリューションの展開オプション

Citrix の Kubernetes Ingress ソリューションは、Citrix ADC および Kubernetes 環境の管理方法に応じて、柔軟なアーキテクチャを提供します。

統合入力(単一層)

統合されたIngress(単一層)アーキテクチャでは、Kubernetesクラスタの外に展開されたCitrix MPXまたはVPXデバイスは、Citrix ingress controller を使用してKubernetes環境と統合されます。Citrix ingress controller は、Kubernetesクラスタにポッドとしてデプロイされ、マイクロサービスまたはIngressリソースの変更に基づいてCitrix ADCの構成を自動化します。Citrix ADCデバイスは、インバウンドトラフィックに対して負荷分散、TLS終了、HTTPまたはTCPプロトコルの最適化などの機能を実行し、Kubernetesクラスタ内の正しいマイクロサービスにトラフィックをルーティングします。このアーキテクチャは、同じチームが Kubernetes プラットフォームと、アプリケーション配信コントローラ (ADC) を含むその他のネットワークインフラストラクチャを管理するシナリオに最適です。

次の図は、Unified Ingress アーキテクチャを使用したデプロイメントを示しています。

単一層

統合された Ingress ソリューションには、次のような主な利点があります。

  • 既存のCitrix ADCインフラストラクチャの機能をKubernetes環境に拡張する方法を提供します
  • インバウンドトラフィックにトラフィック管理ポリシーを適用できます。
  • ネットワークに精通したDevOpsチームに適したシンプルなアーキテクチャを提供
  • マルチテナンシーをサポート

デュアル層入力

2層アーキテクチャでは、Kubernetesクラスタの外側に展開されたCitrix ADC(MPXまたはVPX)はティア1で動作し、クラスタ内で動作するCitrix ADC CPXへの南北トラフィックの負荷分散を行います。Citrix ADC CPXは階層 2 で動作し、Kubernetes クラスタ内のマイクロサービスの負荷分散を実行します。

個別のチームが Kubernetes プラットフォームとネットワークインフラストラクチャを管理するシナリオでは、デュアルティアアーキテクチャが最適です。

ネットワークチームは、GSLB、ハードウェアプラットフォームでのTLS終了、TCP負荷分散などのユースケースにTier1のCitrix ADCを使用します。Kubernetesプラットフォームチームは、レイヤー7(HTTP/HTTPS)負荷分散、相互TLS、およびマイクロサービスの監視や監視のために、階層2のCitrix ADC(CPX)を使用できます。階層2のCitrix ADC(CPX)では、階層1のCitrix ADCとは異なるソフトウェアリリースバージョンを使用して、新しく利用可能な機能に対応できます。

次の図は、2 層アーキテクチャを使用した展開を示しています。

デュアルティア

2 層の Ingress には、次の主な利点があります。

  • 開発者またはプラットフォームチーム向けの高速アプリケーション開発を確保
  • Kubernetes クラスター内のマイクロサービスに対して、開発者主導のトラフィック管理ポリシーを適用できるようにします。
  • クラウドの拡張とマルチテナンシーを実現

詳細については、 Citrix ingress controller ドキュメントを参照してください

はじめに

CitrixのKubernetes Ingressソリューションを開始するには、次の例を試すことができます。

Kubernetes Ingress ソリューション