NGINX(エンジンエックス)|日本公式サイト

NGINXはF5ファミリーの一員となりました。新体制の詳細はこちらを御覧ください。

大量のトラフィックが発生するウェブサイトに必要なKubernetesクラスターの設計

こちらのブログでは2022年6月実施のマイクロサービス基礎強化月間(Microservices June 2022)でご紹介するKubernetesネットワーキングのユニット1の内容をご覧いただけます。

Kubernetes ネットワーキングはKubernetesのコンポーネント、サービス、トラフィックを接続するフレームワークですが、単にAからBへパケットを移動させるだけではありません。ユニット1では、基本となる質問「どのようにKubernetes上でマイクロサービスのトラフィックを取り扱うか?」の答えを示します。

3つのコンテンツより、ハイレベルな概要から実践的な応用まで、段階的に学ぶことができます。みなさんがこの3つすべてのコンテンツを完了させ、より良い知識を得られることをおすすめいたします。

Step 1: ウェビナーを見る

Microservices June 2022で提供される4つのウェビナーでは、各トピックにおける概要をKubernetesのエキスパートであるlearnk8sの講師が紹介します。このエピソードでは、「どのようにKubernetes上でマイクロサービスのトラフィックを取り扱うか?」の質問に対する答えを示しており、以下の内容を取り扱っています。

  • Kubernetesのインフラとトラフィックマネージメントの基礎
  • Node PoolとNodeインスタンス
  • NodePort、LoadBalancer、Ingressの違い
  • Ingress Controllerの全体像
  • Kubernetes Gateway APIについて知るべきこと

Step 2: 資料で知識を深める

ウェビナーをご覧いただいた方の中には、新たな課題を感じられる方もいるかもしれません。それこそが、我々が様々な記事や動画コンテンツを作成した理由です。このユニットでのディープダイブとしてさらに2つのトピックを取り扱います:KubernetesのServiceを外部に公開する方法と、皆様の要求に最適なIngress Controllerを選択する方法です。

Blog | Kubernetes Networking 101(Kubernetes Networkingの基礎)

このブログでは、「Kubernetes環境でトラフィックを受け付ける際にIngress Controllerが必要か?」という問いに対する答えをご紹介しております。この記事には以下が含まれます。

  • Kube-Proxy、Cluster IP、NodePort、LoadBalancer等、外部トラフィックをクラスターに転送するその他のサービスに関する基礎
  • Ingress Controllerの動作に期待すること
  • Ingress Controllerの前にロードバランサーを配置したほうが良いと思われる理由

次に、Ingress Controllerの選択のガイドとなる、4つのブログをお読みください。

Blog | Part 1: 要件の特定
皆さんのKubernetes環境において、Ingress Controllerは最も強力なツールの一つです。Ingress に求められる要件をどのように決定するか学習し、要件にあった正しい選択が出来るようになります。

Blog | Part 2: リスクと将来性
誤ったIngress Controllerを選択した際に発生するリスクやこの選択が将来に渡ってより良いものとなるポイントについて学習します。

Blog | Part 3: オープンソース / デフォルト / 商用
Ingress Controllerを評価する場合、これらは3つのカテゴリにわけることができます。オープンソース、サービスに含まれるデフォルトのもの、そして商用製品です。これらそれぞれが持つメリット・デメリットについて学習します。

Blog | Part 4: NGINX Ingress Controllerのオプション
管理主体、開発哲学、本番環境の利用に適しているか、セキュリティ、そしてサポートなど、どのNGINX Ingress Controllerがあなたにとって最適であるか学習します。

そして最後に、2021年に紹介された新たなKubernetes Gateway APIについて学習します。これはとても新しい技術で、直ちに利用することは無いかもしれませんが、今後数年の内に、様々なオープンソースプロジェクトや商用製品でこのAPIを実装したものを多く見かけるようになると思います。

Step 3: ハンズオンラボ (セルフペース(自習)、所要時間目安40分~1時間弱)

※ハンズオンラボは、2022年6月30日で終了しております。

最初の自習ラボ「オートスケールでKubernetesの遅延を軽減する」では、NGINX Ingress Controller を使ってアプリを公開し、トラフィック急増に対応して Ingress Controller をオートスケールします。下記の約20分の動画で、詳しく解説しています。ラボが実際に動いている様子と、各ステップの動作について学ぶことができます。

このラボにアクセスするには、登録者に送られるユニット1ラーニングガイドというメールにアクセス方法が記載されています。また、NGINX チュートリアル を使用して、ご自身の環境でラボを試すこともできます。「オートスケールでKubernetesの遅延を軽減する(英語)」を参考にしてください。

次回(ユニット2)のコンテンツは?

ユニット2では、“KubernetesでAPIを公開する”をテーマにしています。認証・認可、OIDCやRate Limitを含む、Kubernetesにおける一般的なAPI ゲートウェイのユースケースについて学習いただけます。

関連資料

サンプルNGINX Plus 無料トライアル サンプルダウンロード資料 サンプル無料ウェビナー