Citrix ADC ingress controller

導入トポロジ

Citrix ADCは、組織の境界を補完する強力で柔軟なトポロジに組み合わせることができます。デュアルティア展開では、第1層に大容量のハードウェアまたは仮想化されたCitrix ADC(Citrix ADC MPXおよびVPX)を使用して、ネットワークオペレーターとKubernetesオペレーターの間で制御をセグメント化しながら、セキュリティ機能をオフロードし、比較的静的な組織ポリシーを実装します。

二重層展開では、2番目の層はKubernetesクラスタ内(Citrix ADC CPXを使用)にあり、サービス所有者の管理下にあります。この設定により、Kubernetes ユーザーは高速な変更を実装できると同時に、ネットワークオペレーターに安定性を提供します。シングルティア・トポロジーは、高い変更率に対応する必要がある組織に適しています。これ

単一層トポロジ

単一層トポロジでは、Citrix ADC MPXまたはVPXデバイスは、クライアントから(南北)トラフィックをクラスタ内のマイクロサービスにプロキシします。Citrix ingress controller は、Kubernetes クラスターにスタンドアロンポッドとしてデプロイされます。コントローラーは、マイクロサービスまたはIngressリソースへの変更に基づいて、Citrix ADC(MPXまたはVPX)の構成を自動化します。

Single-tier

二重層トポロジ

二重層トポロジでは、Tier-1のCitrix ADC MPXまたはVPXデバイスは、クライアントからTier-2のCitrix ADC CPXへのトラフィック(南北)をプロキシします。Tier-2 Citrix ADC CPX は、トラフィックをKubernetesクラスター内のマイクロサービスにルーティングします。スタンドアロンポッドとして展開されたCitrix ingress controller は、Tier-1デバイスを構成します。また、1つまたは複数のCitrix ADC CPXポッドのサイドカーコントローラーは、同じポッド内の関連付けられたCitrix ADC CPXを構成します。

デュアルティア

クラウドトポロジー

Amazon Web Services (AWS)Google Cloud、 [Microsoft Azure](https://azure.microsoft.com/en-in/)などのパブリッククラウドの Kubernetes クラスターは、 AWS Elastic Load Balancing、 [Google Cloud 負荷分散などのネイティブ負荷分散サービスを使用できます](https://cloud.google.com/load-balancing/)Microsoft Azure NLBは 、Citrix ADC CPXの第2層に対する負荷分散の最初の(比較的静的な)層です。Citrix ADC CPX は、サイドカーのイングレスコントローラーを使用して Kubernetes クラスター内で動作します。Kubernetes クラスターは、Citrix ADC CPX をイングレスとして使用しながら、クラウドプロバイダー( AWSEKS、 Google GKEAzure AKSなど)によってセルフホストまたは管理できます。クラウドベースのKubernetesクラスターがセルフホスト型またはセルフマネージド型の場合、Citrix ADC VPXを2層トポロジの第1層として使用できます。

ティア1にCitrix ADC(VPX)を使用したクラウド展開:ティア1にVPXを使用したクラウド展開

Tier-1に Cloud LB を使用したクラウドデプロイ:Tier-1 に CLB を使用したクラウドデプロイ

サービスメッシュライト

Ingress ソリューション (ハードウェア、仮想化、コンテナ化) は、通常 North-South (N-S) トラフィックに対して L7 プロキシ機能を実行します。Service Mesh Lite アーキテクチャでは、同じ Ingress ソリューションを使用して East-West トラフィックも管理します。

標準の Kubernetes デプロイメントでは、East-West (E-W) トラフィックは各ノードにデプロイされたビルトイン KubeProxy を通過します。L4プロキシである Kube-proxy は、L7 プロキシの利点なしで TCP/UDP ベースの負荷分散のみを実行できます。

Citrix ADC(MPX、VPX、またはCPX)は、E-Wトラフィックに次のような利点を提供します。

  • 相互 TLS または SSL オフロード
  • コンテンツベースのルーティング。HTTP または HTTPS ヘッダーパラメーターに基づいてトラフィックを許可またはブロックします。
  • 高度な負荷分散アルゴリズム (最小接続数、最小応答時間など)
  • ゴールデンシグナル(エラー、遅延、飽和、トラフィック量)の測定による East-West トラフィックの観測性。Citrix ADM のサービスグラフは 、マイクロサービスを監視およびデバッグするための可観測性ソリューションです。

詳細については、「 サービスメッシュ lite」を参照してください。

Dual-tier-Hairpin-mode

ロードバランサーの種類のサービス

Kubernetes のサービスタイプLoadBalancerを使用すると、Ingress リソースを使用せずにサービスを外部に直接公開できます。クラウドプロバイダーは、独自のネイティブクラウドロードバランサーを起動し、サービスへのアクセスに使用する外部 IP アドレスを割り当てるクラウドプロバイダーのみが使用できます。これにより、マイクロサービスを簡単にデプロイして Kubernetes クラスターの外部に公開できます。

デフォルトでは、ベアメタル Kubernetes クラスタでは、LoadBalancerタイプのサービスが単にそのサービスのNodePortsを公開します。また、外部ロードバランサは設定されません。

Citrix ingress controller は、 次の種類LoadBalancerのサービスをサポートします。Tier-1のIngress Citrix ADCを使用して、 タイプLoadBalancerのサービスを作成して公開できます。Ingress Citrix ADC はサービスのロードバランサーをプロビジョニングし、外部IPアドレスがサービスに割り当てられます。Citrix ingress controller は、 Citrix IP アドレス管理コントローラーを使用して IPアドレスを割り当てます。

詳細については、「 LoadBalancer タイプのサービスを公開する」を参照してください。

ロードバランサータイプのサービス

NodePort タイプのサービス

デフォルトでは、Kubernetes サービスにはクラスタ IP アドレスを使用してアクセスできます。クラスタ IP アドレスは、Kubernetes クラスタ内でアクセスできる内部 IP アドレスです。Kubernetes クラスターの外部からサービスにアクセスできるようにするには、そのタイプNodePortのサービスを作成します 。

Citrix ingress controller は、 次の種類NodePortのサービスをサポートします。Ingress Citrix ADC および Citrix ingress controller を使用すると、 タイプNodePortのサービスを外部に公開できます。

詳細については、「 NodePort タイプのサービスを公開する」を参照してください。

NodePort タイプのサービス

Helm チャートと Citrix 展開ビルダーを使用した展開

Citrix クラウドネイティブトポロジを展開する場合、YAML および Helm チャートを使用してさまざまなオプションを利用できます。Helm チャートは、Kubernetes 環境にデプロイする最も簡単な方法の 1 つです。Helm チャートを使用してデプロイする場合、各パラメーターを引数として指定する代わりに、 values.yaml ファイルを使用して構成可能なパラメーターの値を指定できます。

Citrix クラウドネイティブ展開用のvalues.yamlファイルは、 Citrix 展開ビルダー(GUI)を使用して生成できます。

Citrix 展開ビルダーでは、次のトポロジがサポートされています。

  • シングルティア

    • イングレス

    • サービスタイプ LoadBalancer

  • デュアルティア

    • ノードポートとしてのCitrix ADC CPX

    • ロードバランサータイプのサービスとしてのCitrix ADC CPX

  • マルチクラスタイングレス

  • サービスメッシュ

Citrix 展開ビルダーの使用方法について詳しくは、 Citrix 展開ビルダーのブログを参照してください

導入トポロジ