Dockerで本格的なサーバーを構築する
RancherOSとは
- プロダクション利用可能なDocker向けミニマルOS
- Dockerと競合を引き起こすおそれのあるsystemdのようなinitシステムを不要にし、最小限のコードベースとOSで動作するシステムサービスによってセキュリティを高めている
- Kernel上に即座にDockerコンテナを実行するよう設計されており、これらのコンテナがコアとなるLinuxサービスをユーザに提供する
- ライブラリが豊富
構築目次
要件
- dockerで動く
- OSはRancherOSを使用
- インフラの詳しい知識がない人でもrancherの管理画面からサービスを展開し、開発・公開ができる
- データの復元・共有が可能
- 保守・管理が安全にできる
仕様
- 管理画面top
-
コンテナの管理
- 基本的にrancher/serverさん(管理画面)がいい感じにしてくれる
- rancher/serverさん(管理画面)がagentにコンテナをつくってくれる
- 管理画面でぽちぽちコンテナをスケーリングとかupgradeとかデプロイできる
-
アクセス
- rancher-serverに{domain.com}443もしくは80番でアクセスが来た場合HAProxyでagentに振り分ける
-
コンテナの管理・様子
- 基本的にはdocker-composeをコピると勝手に作ってれる
前提条件
-
物理マシンが2台以上必要となる(rancher/serverとrancher/agent)
- 今回の場合はserver1台、agentを2台、計3台物理マシンを設置した。
-
rancher-server
- rancherOS
- 443 - 443
- 80 - 80
- 22 - 22
- 5000 - 5000(private registry用)
- publicIP
- ??.??.??.??
- privateIP
- 192.168.3.100
-
rancher-agent01
- rancherOS
- 80 - 80
- 1022 - 22
- privateIP
- 192.168.3.101
-
rancher-agent02
- rancherOS
- 80 - 80
- 2022 - 22
- privateIP
- 192.168.3.102
実装予定機能
-
コンテナ・agent間でのデータ共有
- glusterFS
- Convoy Gluster
-
プライベートdockerhub
- registory
-
データのバックアップ
- Convoy
-
データの復元
- Convoy
-
gitリポジトリ
- gitlab
-
ciツール
- gitlab ci
-
ssl
- lets encryptもしくはwosign
-
セキュリティー
- rancher-bench-security
-
死活管理ツール
- DATADOG
- Prometheus
便利なライブラリたち
- rancherではすぐ動かすことのできるライブラリーが多くある
- RancherのCATALOGのライブラリー一覧
- jenkinsとかgitlab、無料sslのlets encryptも用意されている
- なのでこの辺をうまく使って、いろいろしたいと思う