回復力は、ミッションクリティカルで可用性の高いアプリケーションを設計する際に考慮すべき最も重要な要素の 1 つです。 アプリケーションは、障害から迅速に回復できる場合、回復力があると言えます。 クラウド ネイティブ アプリケーションは、多くの場合、各コンポーネントがコンテナー内に存在するマイクロサービス アーキテクチャを使用して設計されます。 Kubernetes でホストされるアプリケーションの高可用性を確保するには、クラスターを設計するときにいくつかの特定のパターンに従う必要があります。その 1 つが「ヘルス検出パターン」です。高観測性原則 (HOP) を適用すると、アプリケーションが受信するすべてのリクエストに対して、タイムリーに応答が返されるようになります。 高可観測性原則 (HOP) 高い可観測性の原則は、コンテナベースのアプリケーションの設計原則の 1 つです。マイクロサービス システムでは、各サービスが、呼び出された側がリクエストをどのように処理するかを気にしない (気にするべきではない) 必要があります。 HOP 原則では、各サービスが複数の API エンドポイントを公開することが要求され、サービスの健全性状態を明らかにすることを目的としています。 Kubernetes はこれらのエンドポイントを呼び出して、ルーティングと負荷分散の次のステップを決定します。 適切に設計されたクラウドネイティブ プログラムは、ログ イベントを STDERR と STDOUT に記録し、logstash や Fluent などのログ取り込みサービスは、これらのログを集中監視システム (Prometheus など) やログ集約システム (ELK など) に送信する必要があります。次の図は、クラウド ネイティブ アプリケーションが正常性検出パターンと高可観測性の原則にどのように準拠しているかを示しています。 Kubernetes でヘルス プローブ パターンを適用するにはどうすればよいでしょうか? 以前、ASP.NetCore + Docker ヘルス チェックに関するオリジナル記事を書きました: [Web プログラムが http ヘルス チェック エンドポイント、プラットフォーム ポーリング検出を公開]。 Kubernetes はさまざまな状況に合わせてプローブを改良し、さらに強力なのは対応する決定を下すことです。 生体プローブ [survival probe] を使用して、コンテナをいつ再起動するかを決定します。 サバイバル プローブを使用して、コンテナー自体が応答していないか、デッドロック状態になっているかどうかを確認します。コンテナを再起動すると、このような問題が解決できることがよくあります。 公式の Kubernetes デモを例に挙げてみましょう。
このプローブはkubectl get podのRESTARTS列に反映されます。 準備プローブ [準備状況プローブ] を使用して、コンテナの準備が整っていてトラフィックを受け入れることができるかどうかを判断します。 Pod 内のすべてのコンテナが準備完了の場合、Pod は準備完了とみなされます。 Pod の準備ができていない場合、サービス ロード バランシングから削除されます。 アプリケーションが一時的に利用できなくなる場合があります (大量のデータを読み込んでいる場合や外部サービスに依存している場合)。現時点では、Pod を再起動しても役に立たず、リクエストが Pod に送信されないようにする必要があります。 以下のアプリケーションは mongodb に大きく依存しています。これらの依存関係に対して準備プローブを設定します。
以下はMongodbの接続を検出するためのものです
依存関係の検出では、検出サイクルとタイムアウトを少し長く設定できます。
スタートアッププローブ [スタートアップ プローブ] を使用して、コンテナ アプリケーションが起動されているかどうかを判断します。このプローブが設定されている場合、このプローブが成功するまで、活性プローブと準備プローブは無効になります。 プローブの設定
非現実的な識別エラーによる頻繁な再起動や準備不能状態を回避するために、アプリケーション構造に応じてプローブ パラメータを適切に設定することを強くお勧めします。 結論は:
使用法に関して:
Kubernetes のライブネス プローブと準備プローブにより、サービスの堅牢性と回復力が大幅に向上し、優れたエンドユーザー エクスペリエンスが実現します。 |
<<: Java バックエンド開発でよく使用されるサードパーティ サービスのトップ 10
>>: テンセントクラウド社長の邱月鵬氏:「鉄とセメント」と比較すると、ソフトウェアサービスは新しいインフラを定義するために使われるべきだ
これは歴史に残る戦争だ。それは参加者の生存に関わるだけでなく、人類の技術発展の将来の方向性にも大きな...
今日はとても不思議な日です。Baiduのスタッフのミスなのか、コンピューターの不具合なのかは分かりま...
Baidu がアプリケーション配信ポータルを獲得するために 91 Wireless を 18 億 5...
2017年、エコノミスト誌は「世界で最も価値のある資源はもはや石油ではなくデータだ」という記事を掲載...
ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービス毎日、Weiboには私た...
2020年7月20日、Huawei CloudはTechWaveテクノロジーサミットを開催しました。...
リトアニアのホスティング会社である vpsnet.lt をご紹介します。トラフィックを制限しないのが...
[51CTO.comよりオリジナル記事] 現在、サイバー空間は陸、海、空、宇宙の4つの領域に次ぐ、国...
ウェブサイトでは画像の使用が増えています。画像を最適化するには特定の方法があり、Google 検索エ...
導入以前の会社で Eru2 を書き終えた後、私は過去 4 年間のコンテナ コミュニティの開発をレビュ...
産業用ソフトウェアは数千種類、中小企業は数万社あるが、その中で「鶏や犬の鳴き声は聞こえるが、死ぬまで...
ユーザーは長い間、アプリのスプラッシュ画面広告、特に「隠し」ページデザインを使用してユーザーのクリッ...
anynode がようやく在庫を補充しました。前回の補充は今年 2 月でした。ロサンゼルス KVM ...
Hostcram は毎年恒例のブラックフライデー プロモーションを開始しました。AMD VPS は事...
2008 年は、母子向けウェブサイトが急速に発展した黄金期でした。一方では、伝統的な母子向け製品チェ...