エンジニアブログ 【Kubernetes】商用環境に最適なハイパフォーマンスIngressとは

Kubernetesが公開されて8年の月日が立ち、近年では国内でもPOCや検証環境だけではなく、 商用環境での利用ケースも多く聞くようになりました。
商用環境では、検証環境とは異なりパフォーマンス面やSSL対応方法など、 課題を持たれている方も多いのではないでしょうか。
本記事では、Kubernetes環境におけるロードバランサ(負荷分散)に相当する Ingressにてハイパフォーマンスを実現するベストプラクティスをご紹介いたします。

加藤 和樹

大規模エンタープライズのお客様へSD-WANの提案や導入を担当後、現在はデータセンターネットワーク製品のプリセールスに従事。

1. Kubernetesとは

Kubernetesは、コンテナのオーケストレーションツールとなります。
読み方は「クバネティス」や「クバネテス」、「クーベネティス」と読まれます。
略称は、k8sが一般的に使用されており、これはkとsの間に8文字あることが由来となります。
Kubernetes誕生の歴史などは、公式ドキュメントに記載がありますので詳しくは以下をご参照ください。

Kubernetesとは何か? | Kubernetes

2. Ingressとは

Kubernetes環境においても、基本的な考え方は従来のサーバー、ネットワークと変わりません。
従来からサーバーは、1台で処理できるトラフィックに上限があるため、サーバーの前段にロードバランサなどの負荷分散装置を導入して全体の処理できるトラフィック量を多くする構成をとるのが一般的です。
Kubernetes環境においてもサーバーに相当するPod+Serviceで処理できるトラフィックには上限があります。
よって、Kubernetes環境においても、ロードバランサに相当するIngressで対処いたしますが、Ingressには様々な種類が存在するため選定には考慮が必要です。
参考として、公式ドキュメントに記載のあるIngressを3種類のカテゴリに分類して比較いたしました。

参考URL: Ingressコントローラー | Kubernetes

上記の表の通り、ひとえにIngressと言っても様々な違いがあります。
最もよく使われるソフトウエア系Ingressでは、リソースのサイジングに課題があります。
ソフトウエア系Ingressでハイパフォーマンスを実現するには、多くのCPUリソースのアサインが必要なだけではなく、Intel QATなどのSSLハードウエアアクセラレーション実装など多岐にわたる検討が必要となります。
一方でハードウエアアプライアンス系Ingressでは、各社のラインナップからパフォーマンスにあったハードウエアを選択することで、ソフトウエア製品では難しい数百Gbpsといったスループットを実現することができます。
また、今では必須と言えるSSL対応(IngressによるSSL/TLS Termination)においても専用のSSLチップにより10万を超えるECDHE Transaction/secを簡単に実現することができます。

3. おすすめのKubernetes Ingressソリューション

Kubernetes環境においてもIngressは、ハードウエアアプライアンスを使用するのがパフォーマンス面で有利であることがわかりました。
では、どのようなハードウエアアプライアンスのIngressを選択すれば良いのでしょうか。

日商エレクトロニクスでは、Citrix社のCitrix ADC(NetScaler)とCitrix ADC Ingress Controllerを組み合わせた、
Citrix ADC Ingress Controllerソリューションをおすすめします。

Citrix ADC Ingress Controllerソリューションのポイントは以下となります。

1. ロードバランサとしての長年の実績と機能

Citrix ADC(NetScaler)は、1997年から開発されており25年もの歴史のある製品です。
よって、国内外の多くの事業者様にロードバランサとして導入実績があり、機能面でも紹介しきれないほど多くの機能をサポートしております。
また、日商エレクトロニクスではロードバランサ単体の実績だけではなく、Citrix ADC Ingress Controllerソリューションとしての国内導入実績も有しております。

2. 最大スループットが200Gbpsのハイパフォーマンスを実現可能

Citrix ADC(NetScaler)ハードウエアアプライアンスは、
1Gbpsから最大200Gbpsまで幅広いシステムスループットをサポートします。
ご要件に沿ったモデルを選択することでコストパフォーマンスの高いシステムを構築することができます。

おすすめは下記2モデルとなります。
MPX9100シリーズ:10Gbps-30Gbps MPX9100シリーズ詳細はこちら
MPX16000シリーズ:30Gbps-200Gbps MPX16000シリーズ詳細はこちら

3. 全てのハードウエアラインナップでIntel社のSSLチップを標準搭載

Intel社のSSLチップを搭載することにより、最大13万 ECDHE Transaction/secのパフォーマンスを実現することができます。
ソフトウエアIngressでは、チューニングや設計が煩雑なSSL/TLS Terminationを本ソリューションでは簡単かつ高い信頼性で対応することができます。

4. Ingress Controller連携によって、CitrixADC(NetScaler)の設定も自動投入

ロードバランサだからといって、どれでも自由に選択できるわけではありません。
Ingress Controllerを提供していないロードバランサ製品を選択してしまうと、KubernetesでのPod/Serviceのデプロイとは別にロードバランサの設定を手動で行わなければいけません。
Citrix ADC(NetScaler)では、Citrix ADC Ingress Controllerにより、KubernetesのPod/Serviceのデプロイ操作だけで自動的にロードバランサの設定も行われます。
以下の図は、サービス公開までのフローとなります。

このようにIngress Controllerがない場合は、サービス公開までのステップ数が多くなってしまうだけではなく、手動設定のためオペレーションミスが発生しやすくなります。
Citrix ADC Ingress Controllerでは、このような懸念なくハイパフォーマンスなIngressを導入することが出来ます。

5. 安心のサポート対応

Citrix ADC Ingress Controllerソリューションは、商用のロードバランサ製品のため、ドキュメントやサポートが充実しております。 
日商エレクトロニクスでは、ご提案から導入後のサポートまでワンストップでご支援いたしますので、是非お気軽にご相談ください。

4. 最後に

本記事では、Kubernetes環境におけるIngressのパフォーマンス向上ソリューションをご紹介いたしました。
ご興味ある方は、是非以下のフォームよりお問い合わせください。

エンジニアブログ

NELabに関するお問い合わせは、
こちらのフォームからご連絡ください。