web-dev-qa-db-ja.com

NGINX対GCE Kubernetesイングレスクラス

Google Container EngineでKubernetes Ingressを設定するときに、Ingressクラス(gceまたはnginx)を選択できます。 GCEクラスがGoogleのCloud Platformにロードバランサーをプロビジョニングしていることを理解しています。

調査の結果、GoogleのロードバランサーがNGINXイングレスクラスを使用するよりも優れている主な理由を見つけることができませんでした。少なくとも、非常に大規模になる前はそうではありません。

実際、GCEクラスは以下をサポートしていないようです:

  • ingress.kubernetes.io/auth-urlによる外部認証
  • 基本認証
  • NGINXイングレスに組み込まれた他のいくつかの小さな機能

イングレスでNGINXクラスと比較してGCEクラスを使用することについて、私が知らない利点はありますか?

6
Wes Cossick

さらに読んでテストした後、私はいくつかの利点を見つけました。また、NGINXコントローラーを使用してもロードバランサーがプロビジョニングされることを認識しました。そのため、月額約20ドルのコストを回避できません。

違い

  • GCEコントローラーによりHTTP(S)ロードバランサーがプロビジョニングされます
  • NGINXコントローラーでは、servicetype: LoadBalancer として指定する必要があります。
    • これを行うとネットワークロードバランサーがプロビジョニングされます

HTTP(S)ロードバランサー

ネットワークロードバランサー

利点:

  • 上の図に示すように、HTTP(S)ロードバランサーはリージョン間で負荷分散できますが、ネットワークロードバランサーは同じリージョン内のゾーン間でのみ負荷分散できます
  • GCEコントローラーはGoogleのクラウドプラットフォーム専用に構築されているため、より確実に機能すると思います
  • デフォルトのGCEコントローラーは、NGINXコントローラーが機能するために必要なYAMLファイルを維持および指定する場合と比較して、追加の作業を必要としません。
8
Wes Cossick