編集者– この投稿は10 部構成のシリーズの一部です。
また、ブログの完全セットを無料の電子書籍「 Taking Kubernetes from Test to Production」としてダウンロードすることもできます。
マイクロサービスの導入によりデジタル エクスペリエンスは加速しますが、マイクロサービス アーキテクチャによってそれらのエクスペリエンスがより脆弱になる可能性もあります。 開発者が新しいアプリをリリースするために急いでいる間に、アーキテクチャのせいで、停止やセキュリティの露出のリスクが高まり、非効率的なトラブルシューティングや予防可能な問題の修正に時間が浪費される可能性があります。 本番環境レベルの Kubernetes に関するシリーズの 2 番目のブログでは、トラフィックの可視性を提供するコンポーネントが、マイクロサービス環境の複雑さを軽減し、セキュリティを向上させる方法について検討します。
まず、いくつかの定義を見てみましょう。
StackRox の 2020 年の調査では、Kubernetes ユーザーの 75% が可視性を「必須」機能と認識しています。 何がデプロイされているかを把握することが特に難しいため、Kubernetes では可視性が重要であることに同意します。 しかし、F5 の 2021 年のアプリケーション戦略の現状(SOAS) の回答者の 95% は、豊富なデータがあるにもかかわらず、インフラストラクチャとビジネスを保護し、進化させるために必要なアプリのパフォーマンス、セキュリティ、可用性に関する洞察が不足していると報告しています。 では、洞察力はなぜ重要で、どうすれば得られるのでしょうか?
洞察力があれば、次のことが可能になります。
洞察を得るには、リアルタイムと履歴の 2 種類の可視性データが必要です。 リアルタイム データを使用すると、現在発生している問題の原因を診断できます。一方、履歴データを使用すると、「正常」なものと外れ値に関する視点が得られます。 これら 2 種類の可視性ソースを組み合わせることで、アプリと Kubernetes のパフォーマンスに関する重要な洞察が得られます。
他のテクノロジー投資と同様に、利益を享受するための戦略も必要です。 SOAS レポートでは、採用や従業員の育成、戦略やプロセス、そしてデータを何のために、いつ、誰が使用すべきかについての合意など、組織的な要因が原因で、人々が貴重な洞察を得られないことも示されています。 調査結果には以下が含まれます。
この投稿の残りの部分では、洞察の技術的な側面に焦点を当てます。 戦略、プロセス、その他のトピックに関する今後のブログに注目してください。
ほとんどの Kubernetes デプロイメントではすでに監視ツールが使用されており、さらに別のツールは必要ないということはわかっています。 そこで、メトリックを簡単にエクスポートできるようにNGINX Plus API を組み込み、 OpenTracing 、 Grafana、Prometheusなどの一般的なツールとの統合を提供することで、クラスター内のパフォーマンスの全体像を把握できるようにしました。 詳細なトレースにより、アプリのパフォーマンスと可用性に関する的を絞った分析情報を取得できるため、マイクロサービス アプリ全体でリクエストがどのように処理されるかを理解できます。
入口-出口(南北)トラフィックの洞察
NGINX Ingress Controller は、Kubernetes クラスターに出入りするトラフィックに関する洞察を提供します。
NGINX をベースにした人気の Ingress コントローラーが 3 つあることをご存知ですか? すべてが本番環境に対応しているわけではなく、間違った選択をすると、マイクロサービス戦略が改善されるどころか、むしろ複雑化してしまう可能性があります。 弊社のブログ記事「待ってください、Kubernetes 用のどの NGINX Ingress コントローラーを使用していますか?」では、オプションの比較が提供されており、ニーズに最適な決定を下すことができます。
よくある 2 つの問題に対して当社がどのようにサポートできるかについては、以下をお読みください。
テクノロジーの実際の動作を確認する準備ができたら、NGINX と Grafana の専門家によるライブ ストリーム デモと AMA をご覧ください。 主要な負荷分散とパフォーマンス メトリックのライブ監視を取得し、メトリックを Prometheus にエクスポートし、累積パフォーマンスを表示するための Grafana ダッシュボードを作成する方法を紹介します。
DDoS 攻撃を疑っていますか? ユーザーはあなたのウェブサイトからエラーを報告していますか? 問題がどこにあるのかを正確に把握するまで、その解決を始めることはできません。
NGINX Ingress Controller によるライブ監視
NGINX Plus では、 NGINX Plus APIを搭載したライブ アクティビティ監視ダッシュボードに、数百もの主要な負荷とパフォーマンスのメトリックが表示されます。 単一のポッドレベルまできめ細かい詳細を取得できるため、アプリへの応答時間を迅速かつ簡単に測定し、問題の原因を診断できます。 Kubernetes 環境が拡大すると、追加の NGINX Ingress Controller インスタンスごとにダッシュボードが自動的に提供されます。
たとえば、 [HTTP アップストリーム]タブの 2 つの列では、アプリケーションとインフラストラクチャのステータスをすぐに確認できます。
HTTP エラーが発生しましたか?503
そして40x
エラーはリソースに問題があることを示していますが、502
設定の変更が機能しなかったことを意味します。 履歴データを使用して、リソースが不足している可能性がある場所を診断します。
プロメテウスメトリクス
NGINX Ingress Controller の最も人気のある機能の 1 つは、ネットワーク パフォーマンスと Ingress コントローラー トラフィックに関するメトリックを含む、拡大し続けるPrometheus メトリックのリストです。 NGINX Plus を使用すると、NGINX Ingress Controller は、接続、キャッシュ、メモリゾーンでデータを共有するNGINX ワーカーのグループによって処理される HTTP および TCP/UDP トラフィック、バックエンド サーバーのグループによって処理される HTTP および TCP/UDP トラフィックなどに関するメトリックをエクスポートします。
NGINX Service Mesh は、NGINX Plus API を使用して NGINX Service Mesh サイドカーと NGINX Ingress Controller ポッドからメトリックをスクレイピングするPrometheus サーバーをデプロイします。 既存の Prometheus デプロイメントを使用する場合は、Prometheus 構成ファイルに追加するスクレイプ構成も提供されます。
実稼働対応の NGINX Ingress Controller (NGINX Plus ベース) は、コンテナ化されたアプリを保護するNGINX App Protectを含む30 日間の無料トライアルでご利用いただけます。 常に無料の NGINX Service Mesh は、 f5.comからダウンロードできます。
「このブログ投稿には、入手できなくなった製品やサポートされなくなった製品が参照されている場合があります。 利用可能な F5 NGINX 製品およびソリューションに関する最新情報については、 NGINX 製品ファミリーをご覧ください。 NGINX は現在 F5 の一部です。 以前の NGINX.com リンクはすべて、F5.com の同様の NGINX コンテンツにリダイレクトされます。"