NetScaler® Kubernetes Gateway コントローラー
Kubernetesは、ServicesやIngressなど、アプリケーションを公開するための様々なメカニズムを提供します。Ingressは広く採用されていますが、表現力、拡張性、高度なトラフィック管理機能のサポートにおいて制限があります。
Kubernetes Gateway APIは、これらの制限に対処するために設計された次世代APIです。これは、Kubernetesサービスへの外部アクセスを管理するための、より柔軟で、拡張性があり、ロール指向のアプローチを提供します。Gateway APIの主な利点は次のとおりです。
-
ロールベースのリソースモデル: 異なるロール間 (例: インフラストラクチャプロバイダー、クラスターオペレーター、アプリケーション開発者) で設定の責任を分離します。
-
強化された表現力: 高度なルーティングシナリオ、トラフィック分割、ヘッダーベースのルーティングなどをサポートします。
-
拡張性: GatewayClassのパラメーターとポリシーを通じて、カスタム拡張機能と機能を可能にします。
-
ポータビリティ: 異なるGateway実装間でのより良いポータビリティを目指します。
As organizations increasingly adopt Kubernetes for deploying and managing their applications, the need for robust and scalable solutions for handling external traffic becomes paramount. NetScaler, a leading Application Delivery Controller™ (ADC), provides a powerful and feature-rich solution, seamlessly integrating with Kubernetes by implementing the Kubernetes Gateway API.
このドキュメントでは、NetScaler Kubernetes Gateway APIの概要を説明し、その主要な機能、利点、およびKubernetes環境で安全かつ効率的なアプリケーション配信を可能にする方法について概説します。
Kubernetes Gateway APIプロバイダーとしてのNetScaler
NetScalerは、主要なADCとしての長年の経験に基づいて、Gateway APIの堅牢で成熟した実装を提供します。この統合により、組織はKubernetesクラスター内でNetScalerの高度な機能を利用できます。NetScaler Kubernetes Gateway APIの実装は、次の主要コンポーネントに依存しています。
-
NetScaler Kubernetes Gateway コントローラー: NetScaler Ingress ControllerはIngressオブジェクトをNetScaler構成に変換し、NetScaler Kubernetes GatewayはGateway APIオブジェクトをNetScaler構成に変換します。NetScaler Kubernetes Gatewayは、Kubernetes APIサーバーでGateway APIリソースの変更を継続的に監視します。NetScaler Kubernetes Gatewayは、NetScaler Ingress Controllerとは別のデプロイメントです。IngressとGateway APIの両方の機能が必要な場合は、NetScaler Ingress ControllerとNetScaler Kubernetes Gatewayの両方をデプロイする必要があります。
-
カスタムリソース定義 (CRD): NetScalerは、Kubernetes APIを拡張してNetScaler固有の構成と機能を表現するカスタムリソース定義を導入します。これらのCRDは、標準のGateway APIリソースと連携します。
-
Gateway APIリソース: NetScalerは、GatewayClass、Gateway、HTTPRoute、TCPRoute、TLSRouteなどのコアGateway APIリソースをサポートします。これらのリソースは、外部トラフィックをどのように処理し、バックエンドサービスにルーティングするかを定義します。
ユースケース
NetScaler Kubernetes Gateway API の実装は、以下を含む幅広いユースケースを可能にします。
-
マイクロサービスを安全に公開する: NetScaler の高度なセキュリティ機能で、Kubernetes にデプロイされたマイクロサービスを保護します。
-
外部トラフィックの負荷分散: 高可用性とパフォーマンスのために、Kubernetes サービスの複数のインスタンスに外部トラフィックを分散します。
-
高度なルーティングルールの実装: ヘッダー、パス、その他の基準に基づいて複雑なルーティングルールを定義します。
-
TLS終端の有効化: パフォーマンスとセキュリティを向上させるために、TLS の暗号化と復号化を NetScaler にオフロードします。
-
カナリアデプロイメントの実装: 完全なデプロイメントの前に、新しいアプリケーションバージョンを一部のユーザーに段階的に展開します。
-
A/Bテストのためのトラフィック分割: A/Bテストのために、異なる割合のトラフィックを異なるアプリケーションバージョンに振り向けます。
-
IDプロバイダーとの統合: NetScaler とさまざまな ID プロバイダーとの統合を使用して、事前認証と認可を実装します。