高トラフィックWebサイト向けKubernetesクラスターの設計

NGINX | 2022年3月03日

このブログは、Microservices March 2022のKubernetesネットワーキングに関する全5回シリーズの第2回です。

また、NGINXを使用したKubernetesネットワーキングの実装に関する詳しいガイダンスをまとめた無料eBook『Managing Kubernetes Traffic with NGINX: A Practical Guide』もぜひダウンロードしてください。

Kubernetesネットワーキングは、Kubernetesのコンポーネント、サービス、トラフィックを接続するためのフレームワークです。しかし、単にパケットをAからBへ転送するだけではありません。ユニット1では、次の基本的な疑問に答えます。Kubernetesでマイクロサービスにトラフィックをルーティングするにはどうすればよいですか?

3つのアクティビティを通じて、概要から実践的な応用へと段階的に学べます。最大限に活用するため、3つすべてを完了することをお勧めします。

ステップ1:ライブ配信を視聴する(1時間)

Microservices Marchの各ライブストリームでは、learnk8sとNGINXの各分野の専門家が、トピックの概要をわかりやすく解説します。3月7日のライブ配信を見逃しても、ご心配はいりません。オンデマンドで視聴できます。

このエピソードでは、次のトピックについて解説しながら、「Kubernetesでマイクロサービスにトラフィックをルーティングするにはどうすればよいですか?」という疑問にお答えします。

  • Kubernetesインフラストラクチャとトラフィック管理の基礎
  • ノードプールとノードインスタンス
  • NodePort、LoadBalancer、Ingressの比較
  • Ingressコントローラーの全体像
  • Kubernetes Gateway APIについて知っておくべきこと

 

ステップ2:知識を深める(1~2時間)

ライブストリームの視聴後には、さらに疑問が生じることでしょう。そこで、関連する記事や動画を厳選しました。このユニットでは、Kubernetesサービスを外部に公開する方法と、要件に最適なIngressコントローラーの選び方という2つのトピックを詳しく解説します。

ブログ | Kubernetesネットワーキング入門

このブログでは、次の疑問に答えます。「Kubernetes環境でトラフィックを受け入れるには、Ingressコントローラーが必要ですか?」内容は次のとおりです。

  • 外部トラフィックをクラスターに取り込むためのその他のサービス(kube‑proxy、Cluster IP、NodePort、LoadBalancer)の基礎

  • Ingressコントローラーに期待できること

  • Ingressコントローラーの前段にロードバランサーを配置する理由

続いて、全4回のブログシリーズ「Ingress Controller選定ガイド」をご覧ください。

ブログ | 第1回:要件を特定する
Ingress Controllerは、Kubernetesスタックで特に強力なツールの1つとなり得ます。最適な選択肢を選べるよう、Ingressの要件を明確にする方法をご紹介します。
ブログ | 第2回:リスクと将来への備え
誤ったIngress Controllerを選択することで生じ得るリスクと、将来を見据えた選択を行うための主なポイントをご紹介します。
ブログ | 第3回:オープンソース、デフォルト、商用の比較
Ingress Controllerは、オープンソース、デフォルト、商用の3つのカテゴリーに分類されます。それぞれのメリットとデメリットをご紹介します。
ブログ | 第4回:NGINX Ingress Controllerの選択肢
開発元、開発方針、本番環境への対応状況、セキュリティ、サポートを基に、どのNGINX Ingress Controllerが最適かを判断する方法をご紹介します。

最後に、2021年に導入された新しいKubernetes Gateway APIについてご紹介します。これは非常に新しいテクノロジーであり、すぐに使用する可能性は低いものの、今後数年のうちに、多くのオープンソースプロジェクトや商用製品でこのAPIが活用されるようになると考えられます。

追加調査

マイクロサービスとKubernetesについてさらに理解を深めるために1~2時間以上かけられる方には、学習を始める際に役立つ3つの追加リソースをおすすめします。

ウェビナー | マイクロサービスの基礎
このウェビナーでは、マイクロサービスの主要な概念を紹介し、ハイブリッドアーキテクチャ、コンテナ、Kubernetes、Ingressコントローラーなどについて解説します。eBook | KubernetesによるクラウドネイティブDevOps
このO’Reillyの書籍では、業界標準のDevOpsプラクティスをクラウドネイティブ環境のKubernetesに適用する方法を紹介します。クラウドで最新のアプリケーションを構築、デプロイ、スケーリングする方法を学べます。

動画 | Kubernetesとアプリケーションネットワーキングの未来
GoogleのプロダクトマネージャーであるMark Church氏は、コンテナネットワーキングを定義する標準の策定に携わっています。この基調講演では、Kubernetesがサービスメッシュのエコシステムに与えた影響を考察し、アプリケーションネットワーキングの未来を予測します。

ステップ3:実際に操作する(1時間)

どれほど優れたウェビナーや調査資料があっても、テクノロジーを実際に操作する体験に勝るものはありません。Microservices Marchのラボでは、一般的なシナリオを実践しながら、学んだ内容を定着させることができます。

最初のセルフペース型ラボ「自動スケーリングによるKubernetesのレイテンシ削減」では、NGINX Ingress Controllerを使用してアプリを公開し、トラフィックの急増に応じてIngress Controllerを自動スケーリングします。この20分間のラボ解説動画で、実際の動作と各手順の理由をご確認ください。

ラボにアクセスするには、Microservices March 2022への登録が必要です。すでに登録済みの場合は、Unit 1 Learning Guideとともに届いたメールにアクセス手順が記載されています。または、NGINXチュートリアル:自動スケーリングによるKubernetesのレイテンシ短縮を参考に、ご自身の環境でラボを試すこともできます。

 

Microservices Marchに登録する理由

一部のコンテンツ(ライブ配信とブログ)は自由にご利用いただけますが、すべてのコンテンツをお楽しみいただくために、少量の個人情報をご提供いただく必要があります。登録すると、以下をご利用いただけます。

  • 一般的なシナリオを通じてテクノロジーを実際に操作できる、4つのセルフペースラボへのアクセス
  • 専門家への質問や参加者同士の交流に利用できるMicroservices March Slackチャンネルへの参加
  • 予定どおりに学習を進めるための週次学習ガイド
  • ライブ配信のカレンダー招待

次のステップ

ユニット2:KubernetesでのAPI公開は3月14日に始まります。認可と認証、OIDC、レート制限など、Kubernetesにおける一般的なAPIゲートウェイのユースケースについて学びます。

NGINXを使用したKubernetesネットワーキングの実装に関する詳しいガイダンスについては、eBook「Managing Kubernetes Traffic with NGINX: 実践ガイド」をダウンロードしてください。


共有

著者について

Jenn Gile
Jenn GileNGINX製品マーケティング責任者

Jenn Gileのその他のブログ記事

関連するブログ記事

チュートリアル:NGINXを使用してアプリケーション向けにOpenTelemetryを構成する
NGINX | 2024/01/18

チュートリアル:NGINXを使用してアプリケーション向けにOpenTelemetryを構成する

OpenTelemetryを使用してNGINXサーバーの状態と健全性をより明確に把握することで、問題のトラブルシューティングを行い、Webアプリケーションのパフォーマンスを向上できます。

AkitaのNGINX Plus認定モジュールでAPIエンドポイントの問題を特定・修正
NGINX | 2023/05/31

AkitaのNGINX Plus認定モジュールでAPIエンドポイントの問題を特定・修正

Akita SoftwareのAPIオブザーバビリティ向け新しいNGINX Plus Certified Moduleを活用して、APIエンドポイントの問題をより迅速に特定し、修正できます。

JavaプロジェクトをスキャフォールディングしてKubernetesネイティブアプリを構築する方法
NGINX | 2023/02/09

JavaプロジェクトをスキャフォールディングしてKubernetesネイティブアプリを構築する方法

Red HatのシニアプリンシパルデベロッパーアドボケイトであるDaniel Oh氏が、Javaプロジェクトをゼロから構築するためのひな形を作成し、Kubernetesネイティブアプリケーションとしてビルドする方法を解説します。

F5 NGINXaaS for Azureのご紹介:Microsoft Azureでネイティブに利用できるSaaS型ロードバランシング
NGINX | 2022/05/24

F5 NGINXaaS for Azureのご紹介:Microsoft Azureでネイティブに利用できるSaaS型ロードバランシング

NGINXaaS for Azureは、NGINX PlusをAzureネイティブのSaaSとして利用できるサービスです。NGINXの設定を容易にリフト&シフトできるため、クラウド導入とモダンアプリの展開を加速できます。

SELinuxでNGINXおよびNGINX Plusを使用する
NGINX | 2018/08/17

SELinuxでNGINXおよびNGINX Plusを使用する

Red Hat Enterprise Linux(RHEL)および関連ディストリビューションでSecurity-Enhanced Linux(SELinux)を有効にすると、デフォルト設定によりNGINXとNGINX Plusの一部の操作が制限されます。この記事では、すべての機能を利用できるようにSELinuxの設定を変更する方法について説明します。

NGINX PlusによるAWS Auto Scalingグループの負荷分散
NGINX | 2017/03/06

NGINX PlusによるAWS Auto Scalingグループの負荷分散

新しいnginx-asg-sync統合ソフトウェアにより、NGINX PlusはAWS Auto Scalingグループの負荷を直接分散できるため、クラウドでの負荷分散がさらに柔軟になります