sagantaf

メモレベルの技術記事を書くブログ。

Rancher入門〜インストールと基本的な使い方

2019/10/14追記 Rancherもバージョンアップが進み、情報が古くなってきたので、下記に改めて書きました。こちらをご参照ください。

sagantaf.hatenablog.com




コンテナ管理のためのGUIであるRancher バージョン2 の導入方法と使い方をまとめておく。


目次

はじめに

Docker自体のインストールは以下に記載。
http://sagantaf.hatenablog.com/entry/2018/12/26/184038sagantaf.hatenablog.com
Rancherの詳細は以下を参照(公式ページ、英文)
Overview


今回検証した環境は、  

  • Ubuntu 16.04  
  • Docker 18.06.1-ce

    RancherはDocker for Mac と Docker for Windows には未対応らしい。

    Rancher Management Server を起動

    以下のコマンドを実行し、Management Server(以下、managementマシン)を起動する。

    sudo docker run -d --restart=unless-stopped --name=rancher_master  -p 8001:8080 rancher/server


    オプションの詳細は以下:
     -d →コンテナをバックグラウンドで実行する
     --restart=unless-stopped →明示的に停止したとき以外には再起動する
     --name=’NAME' →コンテナにNAMEという名前をつける
     -p 8001:8080 →8001などホストポートを指定する(8080はコンテナのポート。8080じゃないとrancherに繋げられない)

    実行後は、ブラウザで

     http://<コマンドを実行したマシンのIPアドレス>:8001

    にアクセスすることでGUIページを開ける。

    ただし、アクセスできるようになるまで2〜3分かかる。

    f:id:sagantaf:20181230223027p:plain
    Rancher起動時の画面


    上記のように最初の画面が現れたら、「Got it」を押して、上のバーに出ている「Add a host」へ。

    ホストマシンをRancherの管理対象として追加

    最初にmanagementマシンのURLを設定する画面が出る。ここで指定するURLは、追加したいホストマシンからアクセスできるURLである必要がある。localhostなどになっている場合はアクセスできないのでIPアドレスに変更しておく。

    f:id:sagantaf:20181230233459p:plain
    URL設定画面


    「Save」して次のページに行くと、AWSインスタンスやAzureのインスタンスなどを選択できる。
    ここでは「Custom」のまま、4 に追加したいIPアドレスを入力する。

    f:id:sagantaf:20181230225454p:plain
    Add Hostのページ

    5 に書いてある自動で作成されたコマンドをコピーして、追加したいホストマシン上で実行する。
    実行した結果、ホストマシンのコンソールに「INFO: Launched Rancher Agent: XXXXXX」の文言が出力されたらOK。

    少し時間を置いた後に、ホスト画面にホストが追加されていればOK。

    いつまで経ってもホストが追加されない場合はエラーが出ている可能性がある。 ここではDNS設定ができておらず、Managementマシンと通信できていない場合の対処方法を記す。

    追加したいホストのDocker設定を追加する

    追加したいホストにログインし、dockerの設定ファイルを編集する。

    sudo vim /etc/docker/daemon.json

    以下の文言を追加して保存する。

    {
        "dns": ["8.8.8.8", "8.8.4.4"]
    }
    

    rancher-agentとdocker自体を再起動

    docker stop rancher-agent
    sudo systemctl restart docker
    docker start rancher-agent

    これを実行した後にRancherのGUIでホストが追加されていることを確認する。

    RancherGUIへのアクセス制限を設定する

    無事、ホストが追加されたら、いよいよコンテナを追加、、、の前に簡単なセキュリティ対策をしておく。

    Rancherは最初に起動したままでは、誰でもURLにアクセスすればGUIを触れる状態になっている。
    ここではアクセス制限として、管理者のみがアクセスできるようにするために、ユーザとパスワードを設定する。

    一番上のバーから ADMIN > Access Control と移動すると以下の画面になる。

    f:id:sagantaf:20181230231626p:plain
    Access Controlのページ

    LOCALを選択して、必要な情報を入力したら、「Enable Auth」を押して有効化する。

    設定できたかを確認するために、一度ログアウトする。
    以下の認証画面が表示されたらOK。
    (ついでに日本語に変えておいた)

    f:id:sagantaf:20181230232025p:plain:w200
    ログイン画面

    カタログからコンテナを追加する

    ここではWordPressをお試しで構築する。
    上のバーのスタックから、「カタログを参照」へ移動する。

    f:id:sagantaf:20181231084018p:plain:w300
    スタック初期画面

    検索窓でwordpressと検索して「詳細を見る」へ。

    f:id:sagantaf:20181231084305p:plain
    カタログ検索画面

    詳細画面ではとりあえずデフォルトの値のまま「起動」を選択する。
    起動した後は、2〜3分で左から右の状態になる。

    f:id:sagantaf:20181231084828p:plain:w220   f:id:sagantaf:20181231085122p:plain:w220
    起動後の状態

    全てActive状態になったら、ブラウザから
      http://<追加したホストのIPアドレス>:80
    にアクセスすることでWordPressのテンプレート画面が表示される。

    例)http://192.168.123.1:80