Docker Swarmをさわる4
前回コンテナの稼働まで行ったので
今回はnginxで簡単にロードバランスする
1回目のやつにロードバランサの事
書いてない気がする・・・。
クラスタの外にいるので
今回作るのは別ホストになります、はい
・作る環境
OS:CentOS7
・ネットワーク
IP:192.168.2.174
■OS環境準備
同じくとりあえずアップデートと
邪魔になるのでSelinuxとFirewalldは止める
・アップデート他
# yum update -y # sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config # systemctl disable firewalld # reboot
■nginxリポジトリ追加
・ファイル作成 # vi /etc/yum.repos.d/nginx.repo 以下を記入 [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1
追加のリポジトリが標準で有効になっているのが
意見が別れる今日このごろ
特定用途だけなら良いんじゃないのかと思ったり思わなかったり
■nginxインストール
# yum install nginx # systemctl start nginx # systemctl enable nginx
■nginx設定
標準では行っているhttpセクションの中身を全て消し
下記のようにする
「upstream」の後に書いているのがリバース先の
管理名になるのでここは好きに記載
「max_fails=3」にて3回接続に失敗したらサーバーを切り離す
切断条件はtimeoutとか幾つか種類があるので
試す場合は公式で確認推奨
# cd /etc/nginx/ # vi nginx.conf http { upstream wasabi { server 192.168.2.175 max_fails=3; server 192.168.2.176 max_fails=3; server 192.168.2.177 max_fails=3; } server { listen 80; location / { proxy_pass http://wasabi; } } }
■nginx再起動
# systemctl restart nginx
■確認
これだけでとりあずロードバランスしてくれる
ブラウザから設定したIP今回なら「192.168.2.174」に繋ぐと
wordpressのデフォルトテーマが表示される
このままだとリンクを踏んだ場合にクラスタ側のIPに転送されたり
このIPから管理ページに入れない
合わせるならば
クラスタ側のIPで管理画面に入り
「Wordpressアドレス」と「サイトアドレス」を変える
これで、一般向けページも管理ページも入れる
本来はDNSも立ててドメインでやったほうが
より実環境ぽくていい感じになる
PowerDNSとか直ぐに立てれるから一緒に作ったほうが良い
後はテーマとかプラグインの更新が今のままだと出来ないんで
FTPの設定とかあるけど、それをやるにはパーミッションやら
Dockerのホストとコンテナのユーザー問題とか色々あるんで
Wordpressの公式コンテナよろしく
Dockerno流儀に従い、Wordpressごとコンテナに内包して
バージョンアップの時はコンテナごと入れ替えたほうがいいと思う
ローリングアップデートもあるし
■終わり
vmとかhypervとか仮想化にやらクラウドに比べると
コンテナはこれっていう環境が無いような
ベストプラクティスが無い代わりに
全てのレイヤーで非常に大量の選択肢があり
構築する人、会社の考え方や運用方法の違いで
多様なシステムが考えられている
lxcから発展し、OSS化してDocker社が焦り
無い機能をフル装備してGoogleがKubernetesを作り
カオスな状況になってるな~と思う
遥か前からあったBSDのサンドボックス機能は何故流行らなかったのか
リソースの集約率向上とか、障害耐性の向上とかメリットは色々ある
Dockerの貢献で一番大きいのはサーバーに明るくないプログラマが
欲しい環境を直ぐに用意できて不要になったら消せばいい
この手軽さが大きいと思う
この手軽さを実際のサーバー運用環境にも持ってこようと
管理者が四苦八苦しているのが現在の状況かいね
実際に動かしてみると
想定外や関係のないものが問題なったり
運用上の問題に直面することになったりと
思っていたもの、欲しかったものとは微妙に違っていたりする
そういうトライ・アンド・エラーを繰り返して
色んなノウハウや生まれて進歩していく
なのでとりあえずとっつくことが出来る環境は
あったほうがいいと思う
後、物凄く余談だけど社内ではRancherOSメインで進めている
初めは「Rancher」な「OS」なのかと思っていて
マスコットが何故牛なのか疑問だった
ある日ふとイメージ検索してみると
「ランチェロス」といういかしたメキシコ料理が並んでいる
美味そうやな