[編集者– この投稿は、当社の包括的な電子書籍「F5 NGINX による Kubernetes トラフィックの管理」からの抜粋です。 実用ガイド。 今すぐ無料でダウンロードしてください。
NGINX Ingress Controller は、HTTP トラフィックに加えて、TCP および UDP トラフィックの負荷分散も行うため、次のようなプロトコルに基づく幅広いアプリやユーティリティのトラフィック管理に使用できます。
NGINX Ingress Controller を使用した TCP および UDP ロード バランシングは、次のような状況で Kubernetes アプリケーションにネットワーク トラフィックを分散するための効果的なソリューションでもあります。
NGINX Ingress Controller には、TCP/UDP ロード バランシングをサポートする 2 つの NGINX Ingress リソースが付属しています。
リスナー
) を指定するために使用されます。 各 NGINX Ingress Controller デプロイメントには、GlobalConfiguration リソースを 1 つだけ含めることができることに注意してください。次の図は、GlobalConfiguration および TransportServer リソースのサンプル使用例を示しています。 gc.yamlでは、クラスター管理者は GlobalConfiguration リソースで TCP および UDP リスナーを定義します。 ts.yamlでは、DevOps エンジニアが、トラフィックを MySQL デプロイメントにルーティングする TransportServer リソース内の TCP リスナーを参照します。
gc.yamlの GlobalConfiguration リソースは、syslog サービスに接続するためのポート 514 の UDP リスナーと、MySQL サービスに接続するためのポート 5353 の TCP リスナーの 2 つのリスナーを定義します。
ts.yamlの TransportServer リソースの 6 ~ 8 行目は、 gc.yamlで名前 ( mysql-tcp
)で定義された TCP リスナーを参照し、 9 ~ 14 行目はTCP トラフィックをmysql-db
アップストリームに送信するルーティング ルールを定義します。
この例では、DevOps エンジニアが MySQL クライアントを使用して、MySQL デプロイメント内のrawdata_content_schema
データベースのテーブルのリストの出力によって確認されるように、構成が機能していることを確認します。
$ echo “テーブルを表示” | mysql –h <外部 IP アドレス> -P <ポート> -う <ユーザー> –p 生データコンテンツスキーマ パスワードを入力してください: <パスワード>
Tables_in_rawdata_content_schema
著者
投稿
UDP トラフィックの TransportServer リソースも同様に構成されます。完全な例については、GitHub の NGINX Ingress Controller リポジトリの「Basic TCP/UDP Load Balancing」を参照してください。 上級の NGINX ユーザーは、リポジトリのTCP/UDP ロード バランシングのサポートの例に示されているように、 stream-snippets
ConfigMap キーを使用してネイティブ NGINX 構成で TransportServer リソースを拡張できます。
TransportServer リソースで設定できる機能の詳細については、 NGINX Ingress Controller のドキュメントを参照してください。
この投稿は、当社の包括的な電子書籍「NGINX を使用した Kubernetes トラフィックの管理」からの抜粋です。 実用ガイド。 今すぐ無料でダウンロードしてください。
今すぐ30 日間の無料トライアルで NGINX Plus ベースの NGINX Ingress Controller をお試しいただくか、弊社にお問い合わせの上、ユースケースについてご相談ください。
「このブログ投稿には、入手できなくなった製品やサポートされなくなった製品が参照されている場合があります。 利用可能な F5 NGINX 製品およびソリューションに関する最新情報については、 NGINX 製品ファミリーをご覧ください。 NGINX は現在 F5 の一部です。 以前の NGINX.com リンクはすべて、F5.com の同様の NGINX コンテンツにリダイレクトされます。"