各タイプのIngress Controllersの紹介
アプリケーション型CLB
アプリケーション型CLBはCLBに基づいて実現されるTKE Ingress Controllerです。異なるURLがクラスター内の異なるServiceにアクセスすることを実現するように設定することができます。CLBは直接トラフィックをNodePortによってPod(CLBがPodに直接接続されている場合は直接Podに転送)に転送し、1つのIngress設定が1つのCLBインスタンス(IP)にバインドされ、簡単なルーティング管理のみで、IPアドレス集約にセンシティブではないシナリオに適しています。詳細については、CLBタイプのIngressをご参照ください。 Istio Ingress Gateway
CLBおよびIstio Ingress Gateway(Tencent Cloud Mesh(TCM)によって提供)に基づくIngress Controllerで、コントロールプレーンと関連するサポートコンポーネントはTencent Cloudによって運用保守されます。クラスター内はトラフィック転送を実行するデータプレーンのみをコンテナ化してデプロイする必要があり、ネイティブKubernetes Ingressまたはより精密なトラフィック管理能力を提供するIstio APIを使用することができます。CLBの後にプロキシ(envoy)を追加し、アクセス層のルーティング管理に対するより多くのニーズに適し、IPアドレス集約のニーズ、クラスター、異種デプロイサービスに跨がるポータルのトラフィック管理のニーズというシナリオがあります。 専用型API Gateway
専用型API GatewayはTencent Cloud API Gateway専用インスタンスに基づいて実現されるTKE Ingress Controllerで、複数のTKEクラスターがあり、アクセス層を統一する必要があるシナリオ、およびアクセス層に認証、トラフィック制御のニーズがあるシナリオに適用されます。詳細については、API Gatewayタイプ Ingressをご参照ください。API Gateway Ingressは主に次のような優位性があります。 API GatewayはTKEクラスターのPodに直接接続され、中間ノードはありません。
1つのAPI GatewayのTKEチャネルは同時に複数のTKEサービスに接続でき、複数のサービス間は重み付けラウンドロビンアルゴリズムを採用してトラフィックを割り当てます。
認証、トラフィックの制御、カナリアスケール配信、キャッシュ、ヒューズのダウングレードなどのAPI Gatewayが提供する高度な機能拡張をサポートします。
API Gateway専用インスタンスのサポートを採用し、下層物理リソースはユーザーによって占有され、パフォーマンスが安定し、SLAが高くなります。
Nginx Ingress Controller
Nginx Ingress ControllerはCLBおよびNginxリバースプロキシ(コンテナ化してクラスター内にデプロイ)に基づくIngress Controllerです。AnnotationsによってネイティブKubernetes Ingressを拡張する機能です。CLBの後にプロキシ(nginx)を追加し、アクセス層のルーティング管理に対するより多くのニーズ、およびIPアドレス集約のニーズがあるシナリオに適します。詳細については、NginxタイプのIngressをご参照ください。 各タイプのIngress Controllers機能の比較
|
トラフィック管理 | プロトコルをサポート | http,https | http,https,http2,grpc,tcp,tcp + tls | http,https,http2, grpc | http,https,http2,grpc,tcp,udp |
| IP管理 | 1つのIngressルールが1つのIP(CLB)に対応します | 複数のIngressルールが1つのIP(CLB)に対応し、IPアドレスが集約されます | 複数のIngressルールが1つのIP(専用型API Gateway)に対応し、IPアドレスが集約されます | 複数のIngressルールが1つのIP(CLB)に対応し、IPアドレスが集約されます |
| 特徴のルーティング | host,URL | その他の特徴をサポートしています:header、method、query parameterなど | その他の特徴をサポートしています:header、method、query parameterなど | その他の特徴をサポートしています:header、cookieなど |
| トラフィック行動 | サポートしません。 | リダイレクト、書き換えなどをサポートしています | リダイレクト、カスタムリクエスト、カスタム応答をサポートしています | リダイレクト、書き換えなどをサポートしています |
| リージョン感知CLB | サポートしません。 | サポート | サポートしません。 | サポートしません。 |
アプリケーションアクセスのアドレッシング | サービスディスカバリ | 単一のKubernetesクラスター | 複数のKubernetesクラスター + 異種サービス | 複数のKubernetesクラスター | 単一のKubernetesクラスター |
セキュリティ | SSL設定 | サポート | サポート | サポート | サポート |
| 認証の権限承認 | サポートしません。 | サポート | サポート | サポート |
監視可能性 | 監視指標 | サポートしています(CLB内で確認する必要があります) | サポートしています(クラウドネイティブ監視、Tencent Cloud監視可能プラットフォーム) | サポート(API Gateway内で確認する必要があります) | サポート(クラウドネイティブ監視) |
| 呼び出しの追跡 | サポートしません。 | サポート | サポートしません。 | サポートしません。 |
| コンポーネントの運用保守 | 関連するCLBがホスティングされ、クラスター内でTKE Ingress Controllerのみを実行する必要があります | コントロールプレーンがホスティングされ、クラスター内でデータプレーンのIngress Gatewayを実行する必要があります | Kubernetesクラスター内で管理プレーンを実行する必要がなく、クラスター内でネットワークアクセス機能を有効化するだけで完了します | クラスター内でNginx Ingress Controller(コントロールプレーン + データプレーン)を実行する必要があります |
この記事はお役に立ちましたか?