socatのインストール(debian)
apt-get install socat
socat = ソケット関連の操作を行うことができるようになるコマンド
haproxyの設定
※ 現状のlilimoの設定だと、変更する必要ありません
コマンド
ステータスの確認
$ echo "show stat" | socat stdio /run/haproxy/admin.sock | grep web001
正常時
www-backend,web001,0,0,0,1,8192,49,46158,13083,,0,,0,0,0,0,UP,1,1,0,1,1,165,2731,,1,3,1,,49,,2,0,,6,L7OK,200,4,0,49,0,0,0,0,0,,,,0,0,,,,,3123,OK ,,0,1,1,79,
異常時
www-backend,web001,0,0,0,1,8192,49,46158,13083,,0,,0,0,0,0,DOWN,1,1,0,2,2,2,2733,,1,3,1,,49,,2,0,,6,L7STS,502,2,0,49,0,0,0,0,0,,,,0,0,,,,,3180,Bad Gateway,,0,1,1,79,
メンテナンスモード
メンテナンスモードにすることによって、haproxy側で特定のサーバを切り離すことができる
片方のサーバで見れないなどのダウンタイムがなくなる
実行
$ echo "disable server www-backend/web002" | socat stdio /run/haproxy/admin.sock
解除
$ echo "enable server www-backend/web002" | socat stdio /run/haproxy/admin.sock
メンテナンスモード時の画面表示
正常時
メンテナンスモード時
表示の色が茶色になる
デプロイ時の流れ
- メンテナンスモードにする
- haproxyとサーバが切り離されたことを確認する
- webサーバなどを再起動する
- メンテナンスモードを解除する
- メンテナンスモードが終り、haproxyとサーバが疎通したら次のサーバへ