序文
keepalivedのに役立つ最近の研究では、局部的に検証環境関連機能の構築を考えること。仮想マシンがあまりにも面倒なので、彼らは、関連するコマンド]ドッキングウィンドウを統合することを学ぶ、なお、このようなドッキングウィンドウ環境を構築するのに役立ちます。
1.準備
ローカルインストールドッキングウィンドウ環境、win10私の地元の使用は、ドッキングウィンドウ環境をインストールされています。
2. ダウンロード centos7.6の基本イメージ
ドッキングウィンドウプルのCentOS:7.6。1810
結果は以下の通りであるので、私は、インストールされています
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