9
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Rancher.ioでDockerコンテナを管理する - Part3: Rancher.ioをインストールする

Posted at

IDCFクラウド上に構築したSalt+Docker環境にRancher.ioをデプロイします。Rancher.ioは管理サービスもDockerコンテナとしてデプロイするので、インストールがとても簡単です。salt-masterにManagement Serverを、salt-minionにDocker Nodesをデプロイします。

Saltクラスタの確認

minionの仮想マシンは以下の2台です。salt.cs3d0idcfcloud.internalの仮想マシンはsalt-masterとsalt-minionを兼用しています。

$ salt-key
Accepted Keys:
minion1.cs3d0idcfcloud.internal
salt.cs3d0idcfcloud.internal
Unaccepted Keys:
Rejected Keys:
root@salt:/srv/salt/config/salt#

Management Serverのインストール

salt-masterの仮想マシン(salt.cs3d0idcfcloud.internal)にログインします。Dockerイメージをpullして起動するだけです。

$ sudo docker pull rancher/server
$ sudo docker run -d -p 8080:8080 rancher/server

Docker Nodesのインストール

salt-minionの仮想マシン(minion1.cs3d0idcfcloud.internal)にログインします。こちらもDockerイメージをpullして起動するだけですが、いくつか引数を渡します。

$ sudo docker pull rancher/agent
$ sudo docker run  -it \
  -e CATTLE_AGENT_IP="210.140.173.117" \
  -v /var/run/docker.sock:/var/run/docker.sock rancher/agent \
  http://10.3.0.165:8080

CATTLE_AGENT_IP

まず、環境変数のCATTLE_AGENT_IPDocker Nodesの仮想マシンにスタティックNATしたパブリックIPアドレスを指定します。IDCFクラウドの場合アカウントのVLANとインターネットの間にVirtual Routerがあります。仮想マシンのプライベートIPアドレスは直接インターネットの外部から接続できません。あらかじめポータル画面からパブリックIPアドレスの1つをminion1の仮想マシンに対してスタティックNATしておく必要があります。CATTLE_AGENT_IPにはこのスタティックNATを指定して、外部から接続できるIPアドレスを割り当てます。このIPアドレスはRancher.ioのUI(管理画面)にHostのIPアドレスに表示されます。ブラウザからWebSocketを使ったコンソール接続や、cAdvisorを使ったメトリクスの収集に直接使用されます。

Management ServerのIPアドレス

上記ではhttp://10.3.0.165:8080Management ServerのIPアドレスになります。Docker Nodesからの接続になるためアカウントVLAN内のプライベートIPアドレスで指定します。

UI (Rancher.ioの管理画面)

Docker Nodesのコンテナをsalt-minionで起動してしばらくするとUIにHostとして表示されます。

rancher-ui-hosts-top.png

Ghostイメージのデプロイ

サンプルとしてdockerfile/ghost/を使います。通常のdocker runコマンドの場合は以下に相当します。

$ docker run -d -p 80:2368 dockerfile/ghost

Create Containerダイアログ

HostのNo container yet.の下のプラスボタンを押してCreate Containerダイアログを表示します。

The BasicタブにDocker Hub Registryから取得するイメージ情報など基本情報を入力します。

rancher-container-basic.png

Portタブに、Dockerホストにマップするポートを入力します。

rancher-container-port.png

CommandタブのAs Userは必須項目になっています。ブランクだとコンテナが作成できないため参考値のrootを指定します。

rancher-container-command.png

cAdvisorのリアルタイムグラフ

cAdvisorのメトリクスをブラウザからWebSocketでCattle Agent経由で取得します。Docker Nodesのホストと、コンテナのメトリクスがそれぞれリアルタイムで表示されます。

Hostのグラフです。

rancher-ui-hosts.png

コンテナのグラフです。

rancher-container-ghost.png

コンテナのシェル操作

各Containerページの右上、Execute ShellアイコンをクリックするとWebSocket経由でコンテナのシェルを実行することができます。

rancher-container-execute-shell.png

コンテナのコンソールはlibvirtのVNC WebSocketサポートを使っているようです。

rancher-container-shell.png

9
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?