ドッキングウィンドウのビルドkeepalivedの+ nginxの高可用性

 序文

  keepalivedのに役立つ最近の研究では、局部的に検証環境関連機能の構築を考えること。仮想マシンがあまりにも面倒なので、彼らは、関連するコマンド]ドッキングウィンドウを統合することを学ぶ、なお、このようなドッキングウィンドウ環境を構築するのに役立ちます。

1.準備

  ローカルインストールドッキングウィンドウ環境、win10私の地元の使用は、ドッキングウィンドウ環境をインストールされています。

 

2. ダウンロード centos7.6の基本イメージ

ドッキングウィンドウプルのCentOS:7.61810

 

結果は以下の通りであるので、私は、インストールされています

 

3. では centos7.6のインストールkeepalivedのnginxのだけでなく、他のソフトウェア

スタートコンテナ:

ドッキングウィンドウで実行-it f1cb7c7d58b7 / binに/ bashの

 

 

 

使用したIP のifconfig コマンドは、次の両方をインストールします

yumを インストールiprouteの

yumを  インストール   ネットツール

 

 

4. 使用 yumのは、マウントされkeepalivedのを

yumを インストール keepalivedの

 

確認されている yができ、インストールは完了です 

 

keepalivedのを検出nginxのスクリプト

の/ etc / keepalivedの新でcheck_nginx.sh

スクリプト は以下のように ノートのgrepのnginxのを:スクリプト実行時の名前でもあるので、コロンは、nginxの、使用して、計算された数につながることはありませんnginxの。

#!/ binに/ bashの

A = $(psの -ef | grepを nginxの:| はgrep -v   grepの |   トイレ   - リットル)

であれば [$ A -eq 0 ]; その後、

  nginxの

  エコー  " 再起動nginxの、睡眠2 S " 

  スリープ  2 

  NUM = $(psの -ef | grepを   nginxの:|   はgrep -v grepの | トイレ   - リットル)

  であれば [$ NUM -eq   0   ]; その後、

    PS -ef | グレップkeepalivedの|  grep   -v grepの   | awkは ' {$ 2印刷} ' | xargsが 殺す - 9 

    エコー  失敗したnginxの起動keepalivedの殺す

  Fiの

他に

  エコーを  死んでnginxのではない

Fiを提供して

 

 

チェック このマシンを IP 

IP A

 

keepalivedの設定 

ノート vrrp_strict   それ以外の場合は、につながるVIP アクセスできない

 

検出スクリプトを増やします

追加 VIP 、注目のVIP やネイティブIPをそれ以外の場合は、アクセスすることができない、同じネットワークセグメントに

マシン 172.17.0.6/16 仮想IPのセット172.17.0.8/16

 

5. 使用して、yumをインストールnginxの

参考リンク:https://www.cnblogs.com/opsprobe/p/10773582.html

yumを インストール yumを -utils

 

ソースの追加

 CD /etc/yum.repos.d/ ディレクトリ

新しいです 

vimのnginx.repo

 

 ファイル

以下の情報を入力します。

[nginx- 安定]  = レポnginxの安定
BASEURL =のhttp:// nginx.org/packages/centos/$releasever/$basearch/ 
gpgcheck = 1 
有効 = 1 
gpgkey = HTTPS:// nginx.org/keys/nginx_signing。キー

[nginxの - メインライン]  = nginxのメインラインレポ
BASEURL =のhttp:// nginx.org/packages/mainline/centos/$releasever/$basearch/ 
gpgcheck = 1 
有効 = 0 
gpgkey = HTTPS:// nginx.org/keys /nginx_signing.key

 

 

 

yumを インストール nginxの

 

インストールは完了です

成功を見始めます

nginxの

 

カールはlocalhost:80

 

 

6. 終了し  、作る ミラーを

ドッキングウィンドウのps   -a

 

コンテナだけを検索します

 

V1:ドッキングウィンドウは5f781fbe483e keepavled_nginxをコミット

 

 

7. スタート待機 keepalivedのコンテナ

ドッキングウィンドウの実行--privileged -it --name keepalived_master 8dfe8c83bfaeは/ usr / sbinに/ INIT 

ドッカ実行 --privileged -it --name keepalived_salve 8dfe8c83bfaeは/ usr / sbinに/ initを

 

 

容器に8.

ドッキングウィンドウのPS

 

  コンテナの開始を探します

それぞれ、 容器に

メイン 172.17.0.7

準備: 172.17.0.6

準備は keepalivedの設定を変更します 

9. 確認し keepalivedのを

開始メイン keepalivedの仮想ことが判明し、IPがすでにバインドされています

systemctl状態keepalivedの

 

 ビューの起動状態

準備が keepalivedの起動仮想IPがバインドされていません

キルメインオフkeepalivedのプロセスの後、マスターはもはや限界であるVIP

 

再訪 機器バウンドたVIPを

 

そして、メイン開始 keepalivedのを、あなたは見つけるでしょうVIPが主な再バインドkeepalivedのサーバーを

 

 10. 確認し nginxの

  殺すオフnginxのsee'll見つけるために、再度処理した後は、nginxのために再起動がkeepalivedの自動検出スクリプトをチェックし、どのプロセスが自動的に再起動し、失敗したプットを開始しません殺すkeepalivedのオフ。

  参照スクリプト check_nginx.sh

  注: check_nginx.sh 権限を追加する必要があり、そうでなければ、彼らは実行しないでしょう。

  chmodの   + X check_nginx。SH

VIP アクセスnginxののテスト

私たちは、主変更するために用意した nginxのページや再起動を

我々 /usr/share/nginx/html/index.html

 

 

それぞれのスタートの待機は、keepalivedのこの場合のVIPがメインサーバに結合します;

アクセス nginxの:カール172.17.0.8:80は、この時間を訪れるマスターサーバーです

プライマリサーバ keepalivedのキル-verificationオフ、今回のVIP スタンバイサーバにバインド、アクセスのスタンバイサーバnginxの

 

11.遭遇したいくつかの 問題

VIP アクセスできない問題:

  Vrrp_strict コメント

  VIP ネットワークセグメント内

 

Check_nginx.sh スクリプト問題:

   grepのnginxの:コロンは、追加したり、実装プロセスがしますgrepのスクリプト名につながるプロセスの数を決定するために0ではない持っています。

   このスクリプトは、権限を追加しなければならない、または実行できません

 

 

参考リンク:

https://www.cnblogs.com/jinjiangongzuoshi/p/9313438.html

 

おすすめ

転載: www.cnblogs.com/zhhx/p/12656813.html