NGINX Full Version

Kubernetesの可視性を向上させる方法

この記事は10部構成の一部です。

  1. Reduce Complexity with Production-Grade Kubernetes(英語)
  2. 高度なトラフィック管理でKubernetesの耐障害性を向上させる方法
  3. Kubernetesの可視性を向上させる方法(この記事です)
  4. トラフィック管理ツールを使ってKubernetesを安全にする6つの方法
  5. Ingressコントローラーの選択ガイド, Part 1: 要件の特定
  6. Ingress Controllerの選択ガイド, Part 2 : リスクと将来性
  7. Ingress Controllerの選び方ガイド, Part 3:オープンソース / デフォルト / 商用版
  8. Ingress Controllerの選択ガイド, Part 4 : NGINX Ingress Controllerのオプション
  9. サービスメッシュの選び方
  10. Performance Testing NGINX Ingress Controllers in a Dynamic Kubernetes Cloud Environment(英語)

これらのブログ一式を無料のebookとして下記よりダウンロードいただけます。– Kubernetes のテスト環境から本番環境への移行

マイクロサービスの導入によりデジタル体験を促進する一方で、マイクロサービスアーキテクチャーによってこれらの体験自身を毀損してしまう場合もあります。開発者が新しいアプリケーションを市場に出すために急いで仕事を進めていたとしても、アーキテクチャーのせいで、故障やセキュリティの問題が発生したり、非効率なトラブルシューティングや本来であれば回避可能であった問題の対処が必要となり、時間を浪費するリスクが高まる可能性があります。プロダクショングレードについて取り扱うブログの2つ目では、トラフィックを可視化するコンポーネントによって、どのようにマイクロサービス環境の複雑さを軽減し、セキュリティを向上させることができるのかについて詳しく見ていきます。

可視化することでインサイトを得る

最初に、いくつかの用語の定義について見てみましょう。

StackRoxが実施した2020年に調査では、75%のKubernetesユーザーが可視化の機能が必須であるとしました。デプロイされたものを知ることは難しくなる場合があるため、可視化が重要というのはもっともなことです。しかしその一方で、F5が実施した「アプリケーション戦略の現状」調査では、大量のデータを有してはいるものの、インフラストラクチャーとビジネスを保護し、進化させるのに必要なアプリケーションのパフォーマンス、セキュリティ、可用性についてのインサイトが不足しているとの回答が95%を占めていました。では、インサイトはなぜ重要であり、どうすれば獲得することができるのでしょう?

インサイトを用いてできること

インサイトを得るには、リアルタイムと履歴という2種類の可視化されたデータが必要です。リアルタイムのデータは今現在起きている問題の原因の診断を可能にするのに対し、履歴のデータは何が「正常」で、何が「異常」なのかの視点を提供します。可視性についてのこれらの2種類の情報を組み合わせることで、アプリとKubernetesのパフォーマンスに関するきわめて重要なインサイトが得られます。

他のテクノロジー投資と同様に、テクノロジーの恩恵をどうやって享受するのかについての戦略も必要になってきます。F5のレポートからは、雇用や従業員の育成、戦略やプロセス、どのデータをいつ誰が使うのかのコンセンサスに関連する組織的な要因によって、多くの人が貴重なインサイトを得られずにいることがうかがえます。調査結果は以下のような内容となっています。

この記事の残りの部分は、インサイトの技術的な側面に焦点を当てています。将来の戦略やプロセス、その他の情報についてぜひともご注目ください。

NGINXがどの様に役立つか?

ほとんどのKubernetes環境ですでにモニタリングツールを使用しており、今のところ、もう1つのツールが必要であるということは無いかもしれません。そのため、我々はメトリクスを簡単に外部に公開するためNGINX Plus APIを実装しており、OpenTracingGrafana、Prometheusなどの人気のあるツールとの統合を提供しています。これにより、あなたはクラスター内のパフォーマンスについて全体を把握することが可能になります。アプリケーションのパフォーマンスと可用性に関する詳細なトレースを取得し、マイクロサービスアプリケーション全体でどのようにリクエストが処理されるかを理解することができます。

2つの一般的な課題に対しどの様に対処することが可能であるのか、内容を確認し、理解を深めてください:

同テクノロジーが実際に使われている様子を見たいとお考えの場合には、NGINXとGrafanaのエキスパート達によるこちらのライブストリームデモそしてAMA「Ask Me Anything(なんでも聞いてね)のセッションをご覧ください。ロードバランシングとパフォーマンスの主要なメトリクスに関するライブモニタリングを行い、それらのメトリクスをPrometheusにエクスポートし、蓄積されたデータからパフォーマンスを確認できるGrafanaダッシュボードを生成する方法について紹介しています。

課題:アプリケーションが遅い(もしくはダウンしている)

DDoS攻撃かもしれない、あるいはユーザーからWebサイトのエラーが報告されているといったことはないですか? 問題の所在がはっきりするまで解決に取り掛かることはできません。

課題:クラスターやプラットフォームのリソースが不足している

HTTPエラーが発生した場合、503エラーと40xエラーはあなたがデプロイしたリソースに問題があることを示し、502エラーは設定の変更が動作しないことを意味します。リソースが残り少なくなっている箇所を診断するには、履歴データを使ってください。

NGINXをプロダクション環境で利用する

NGINX Ingress Controller(NGINX Plusベース)は30日間の無料トライアルが可能で、コンテナ化されたアプリケーションを保護するNGINX App Protectも含まれています。常時無料のNGINX Service Meshは、f5.comからダウンロード可能です。