この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 10723|答える: 1

【実践的行動】KeepalivedとNginxのウェブ高可用性チュートリアル

[リンクをコピー]
掲載地 2021/10/18 23:08:11 | | | |
キープアリブドソフトウェアは主にVRRPプロトコルを通じて高可用性機能を実装します。 VRRPはVirtual Router Redundancy Protocolの略であり、静的ルートの単一点障害問題を解決するために設計されており、個々のノードがダウンしてもネットワーク全体が途切れなく動作できるようにします。 したがって、KeepalivedはLVSの設定・管理機能を兼ね備え、LVS上でノードの健康状態を確認する機能を持ち、一方でシステムネットワークサービスの高可用性機能を実現することも可能です。

保持される高可用性フェイルオーバー原則

高可用性サービスペア間の保持フェイルオーバーはVRRP(仮想ルーター冗長プロトコル)を通じて実装されています。

Keepalivedサービスが正常に動作している間は、マスターノードはスタンバイノードにハートビートメッセージを継続的に送信します(マルチキャスト)バックアップノードにまだ生きていることを知らせます。しかしマスターノードが故障するとハートビーメッセージを送信できなくなり、スタンバイノードはマスターノードからのハービートを検出できなくなり、独自のテイクオーバープログラムを呼び出してマスターノードのIPリソースやサービスを乗っ取ります。 プライマリマスターノードが復元されると、バックアップノードはそのノードが引き継いだIPリソースやサービスを解放し、元のスタンバイ役割に復元します。

保持された高可用性ペアはVRRPを介して相互に通信します

1) VRRP(Virtual Router Redundancy Protocol、中国語名はVirtual Route Redundancy Protocol)は、静的ルートの単一障害点を解決するために登場しました。
2) VRRPは、VRRPルーターにルーティングタスクを与えるキャンペーンプロトコルのメカニズムです。
3) VRRPはIPマルチキャストを使用します(デフォルトマルチキャストアドレス(224.0.0.18))は高可用性ペア間の通信を可能にします。
4) マスターノードがパケットを送信し、スタンバイノードがパケットを受け取った場合、スタンバイノードがマスターノードから送信されたデータパケットを受け取れない場合、テイクオーバープログラムが開始され、マスターノードのリソースを引き継ぎます。 複数のスタンバイノードが存在し、優先競争によって選ばれますが、一般的にキーパレドシステムの運用と保守にはペアが存在します。
5) VRRPは暗号化プロトコルを使ってデータを暗号化しますが、Keepalivedの関係者は認証タイプとパスワードの設定に平文を使うことを推奨しています。

キープパリブドサービスの仕組み

1) 維持される高可用性ペアはVRRPを介して通信し、VRRPはキャンペーンメカニズムを通じて決定されます。マスターの優先度はスタンバイより高いため、作業中はマスターがすべてのリソース取得に優先権を与えます。スタンバイノードは待機状態にあり、マスターがハングするとスタンバイノードがマスターノードのリソースを引き継ぎ、その後マスターノードを置き換えて外部にサービスを提供します。

2) キープアリブドサービスペア間、常に送信するのはマスターサーバーだけですVRRP放送パッケージマスターが利用できない場合、つまりホストがマスターから送信されたブロードキャストパッケージを受信できない場合、該当サービスがリソースを引き継ぎ、業務継続性を確保します。 最速のテイクオーバー速度は1秒未満です。

テスト環境

システム:CentOS 8

IPアドレス説明
192.168.50.222VIPアドレス
192.168.50.227マスターマスターノード
192.168.50.131バックアップスタンバイノード

完成したレンダリングを以下のように見てみましょう。


Nginxサービスのインストール

yumを直接使うマスターノードそして代替ノードサーバーは以下のコマンドでnginxをインストールします:


プライマリノードとスタンバイノードのnginx設定ファイルを別々に編集してください。パス:/etc/nginx/nginx.conf構成は以下の通りです:



nginxコマンドで起動し、ブラウザ経由でポート8055へのアクセスをテストします。以下の画像に示されています:



Install Keepalived
プライマリノードとスタンバイノードの両方にインストールするには、以下のコマンドが使われます:




プロフィールアドレス:/etc/keepalived/keepalived.conf



ここではヘルスチェックスクリプトを設定し、新しいスクリプトを作成する必要がありますchk_nginx.shファイル、コードは以下の通りです:

スクリプトを/etc/keepalivedディレクトリにアップロードしてください。 実行権限は以下の通り付与されます:



192.168.50.227 プライマリノード keepalived.conf 設定次のように:

192.168.50.133 代替ノード keepalived.conf 構成次のように:

両方のサーバーで別々に起動と起動を設定してください



今までに構成は完了しました(レンダリングは記事の冒頭を参照)はnginxサービスを通じて以下のコマンドでテストできます:

(終わり)




先の:OpenFeign connectの実行例外がタイムアウトしました
次に:偶然発見した遺跡
 地主| 掲載地 2021/11/20 9:05:11 |
keepalivedを使ってアクティブ-アクティブ高可用性および接続パッシブノードの設定を行いますhttps://docs.nginx.com/nginx/adm ... a-keepalived-nodes/
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com