Balancing」を和訳した内容となります。https://www.nginx.com/blog/nginx-plus-ingress-controller-kubernetes-load-balancing/マシンのクラスタ全体で、コンテナ内のマイクロサービスアプリケーションを実行して管理することは、困難な作業です。Kubernetesは、コンテナオーケストレーションのための強力なソリューションを提供することで、チャレンジを達成するのに役立ちます。フォールトトレランス、自動スケーリング、ローリングアップデート、ストレージ、サービスディスカバリ、ロードバランシングなどのいくつかの重要な機能が含まれています。PlusとIngressの使い方について説明します。Ingressは、HTTPトラフィック用のKubernetesロードバランシングフレームワークを内蔵しています。Ingressでは、Kubernetesクラスタ内のサービスへの外部トラフィックのルーティングを制御するルールを設定できます。Controllerは、クラスタに展開しKubernetesとロードバランサを統合するソフトウェアで、任意のロードバランサを選択できます。Controllerのロードバランシングを設定する方法を説明します。Controllerに統合しました。]このブログ記事では、KubernetesとIngressのHTTPロードバランシングのみを調査します。Plusを参照してください。注:このブログ記事で説明されている手順の詳細は、GitHubリポジトリを参照してください。この投稿はすべての必要なステップを追うものではなく、それらの指示へのリンクを提供します。Controllerをデプロイする必要があります。Controllerは、特定のロードバランサとKubernetesを統合するソフトウェアです。Controllerを開発しました。リポジトリで利用できます。他にはサードパーティ製のものもあります。Controllersページを参照してください。Controllerを導入する方法の詳細については、GitHubリポジトリを参照してください。Webアプリケーションです。cafeと呼ばれるこのアプリケーションは、coffeeサービスを通じてteaやcoffeeを注文することができます。飲み物の好みをHTTPリクエストのURIで指定します。coffeeで終わるteaとURIで終わります。TLSで保護する必要があります。TLSによるクライアント接続のセキュリティを確保しながら、アプリケーションを概念的に示しています。クラスタにアプリケーションをデプロイするには、GitHubリポジトリの指示に従います。私たちのcafeアプリでは、2つの機能を提供するためにロードバランサが必要です。TLSターミネーションIngressでロードバランシングを設定するには、Ingressリソースでルールを定義します。ルールは、外部トラフィックをクラスタ内のサービスにルーティングする方法を指定します。リソースでは、それぞれ異なるドメイン名の複数の仮想サーバーを定義できます。仮想サーバーは、通常クラスタに展開された単一のマイクロサービスアプリケーションに対応しています。各サーバーについて、次のことができます。複数のパスベースのルールを指定します。リクエストURIに基づいて、アプリケーション内の異なるサービスにトラフィックが送信されます。TLS終了を設定します。Ingressの詳細については、Ingressのドキュメントページをご覧ください。cafeアプリ(cafe-ingress.yaml)のIngressリソースは次のとおりです。80行ごとに調べると、次のようになります。4行目では、リソースのcafe-ingressの名前を付けます。TLS終了を設定します。9行目では、Secretリソースをその名前cafe-secretで参照しています。TLS証明書とキーが含まれており、Ingressリソースの前に展開する必要があります。8行目で証明書とキーをcafe.example.com仮想サーバーに適用します。11行目では、ドメイン名cafe.example.comを持つ仮想サーバーを定義します。13行目から21行目では、2つのパスベースのルールを定義しています。ともにリクエストを分散するようにロードバランサに指示します。ともにリクエストを分散するようロードバランサに指示します。どちらのルールも、対応するサービスのポート80に要求を分散するようにロードバランサに指示します。IngressおよびSecretリソースをクラスタに導入する方法の詳細については、GitHubリポジトリを参照してください。Controller、アプリケーション、Ingressリソース、およびSecretリソースを導入すると、アプリケーションをテストできます。Serviceによって生成されたページが表示されます。teaとcoffeeのサービスが実際に飲み物を提供するだけではなく、これらサービスを起動してコンテナやあなたのリクエストの詳細についての情報が欠損していないことが望ましいです。これらには、コンテナのホスト名とIPアドレス、要求URI、およびクライアントのIPアドレスが含まれます。ページを更新するたびに、別のコンテナから応答が返されます。Plusとアプリケーションの各コンテナからのリアルタイム負荷分散メトリックを参照することもできます。Controllerの拡張Ingressは、基本的なHTTPロードバランシング機能を提供します。アプリケーションのロードバランシング要件が複雑でIngressでサポートされていないことがよくあります。これらの要件の一部に対応するため、Ingressコントローラにいくつかの拡張機能を追加しました。このようにして、Kubernetesリソースを使用してロードバランサを構成すること(ロードバランサを直接構成するのではなく)もでき、かつ高度なロードバランシング機能を活用することもできます。利用可能な拡張機能の完全なリストについては、GitHubリポジトリを参照してください。Mapsリソースまたは注釈を使用してNGINX設定をカスタマイズするメカニズムを提供します。proxy_connect_timeoutまたはproxy_read_timeoutディレクティブの値をカスタマイズすることができます。Plusをデプロイおよび設定するための方法を提案します。Plusを使ってKubernetesサービスのロードバランシングを読むことができます。ControllerはNGINXで得られるものに加えて、以下の利点を提供します。Plusの設定を更新する必要があります。コミュニティ版のNGINXでは、設定ファイルを手動で変更して設定をリロードする必要があります。APIを使用して、設定ファイルをリロードせずに設定を更新できます。これにより、構成リロードが頻繁に発生する場合に発生する可能性のあるメモリ使用量の増加やシステム全体のオーバーロードを防ぐことができます。Plusは高度なリアルタイム統計を提供し、APIまたは内蔵ダッシュボードのいずれかにアクセスできます。Plusとアプリケーションがどのように実行されているかを知ることができます。Plusは同じクライアントからのすべての要求が常にスティッキクッキー方式を使用して同じバックエンドのコンテナに渡されるようにします。概要Kubernetesには、組み込みのHTTPロードバランシング機能があり、外部トラフィックをIngressでクラスタ内のサービスにルーティングします。Plusは、Kubernetesロードバランシングと統合され、Ingress機能を完全にサポートし、拡張ロードバランシング要件をサポートする拡張機能も提供します。Controllerを試すには、今すぐ無料の30日間のトライアルを開始するか、ライブデモをご連絡ください。***************************************************************************本ブログサイトの”ホワイトペーパー一覧”ページにeBOOKを公開致しました。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。