こんにちは、 @dz_ こと大平かづみです。
Prologue - はじめに
Rancher Meetup Tokyo #2 に参加して、 Rancher に惚れたのでさっそく触ってみようと思います (σ〃’ω’)σ
あれ、 Azure のアドベントカレンダーなのに何事!?
と思われたあなた、実は Rancher は Azure をホストとして利用できるのです (*ゝノ3・)
なので、これを目標に、今回は Rancher を Azure 上で動かすところまでに挑戦します~!
Rancher とは?
Rancher は、Docker をはじめとするコンテナを管理できるプラットフォームです。Kubernetes, Swarm, Mesos など主要なオーケストレーションツールに対応し、また様々なホストを利用することができます。
この管理プラットフォームとは別に、 RancherOS という、Dockerコンテナを動かすための軽量Linuxも提供されています。
Rancher と Azure で遊ぶ準備
まず、Rancher 自体はローカル環境でも動くのですが、外部のホストを利用するには、そのホストから Rancher にアクセスできる環境でないとなりません。
ということで、今回は Azure 上に構築します。
Rancher の要件
- Ubuntu 16.04
- 64-bit
- kernel of 3.10+
- 1GB Memory
- Docker 1.10.3+
Azure 上で Rancher を動かそう
大まかな流れ
-
仮想マシン環境 + Docker Extension を構築する
-
Rancher を起動する
-
アクセスコントロールを設定する
-
仮想マシン環境 + Docker Extension を構築する
Rancher は2台のコンテナで動いているので、仮想マシン + Docker Extension で構築してみます。
Running Rancher is as simple as launching two containers.
実は、すでにテンプレート Simple deployment of an Ubuntu VM with Docker があり、デプロイボタンでサクッと作れちゃいます。ポータルから作ろうとすると TLS の設定に惑わされるし、CLI でも作れますが、今回は楽してしまいましょう~
ただし、このテンプレートで作成される仮想マシンは Standard_F1 で、 ¥6,905.81/月 ほどかかります。価格を抑えたい方は、適宜ご調整ください。
なお、他の Azure で Docker を使う方法について後述しましたので、ご参考になれば幸いです。
- Rancher を起動する
デプロイが完了したら、仮想マシンにSSHログインして、Rancher を起動しましょう。Rancher の起動は以下のコマンドを実行するだけです。
docker run -d --restart=unless-stopped -p 8080:8080 rancher/server
これだけ!かんたーん!
立ち上がるまでしばらく待ってから、ブラウザで仮想マシンの 8080
ポートを開くと、Rancher のダッシュボードにアクセスできます。(Microsoft Edge だとうまく表示されないことがあるので、 Google Chrome をお勧めします。)
- 例:
http://xxx.japaneast.cloudapp.azure.com:8080/
- アクセスコントロールを設定する
Rancher を起動した直後は、だれでも触れる状態になってますので、アクセスコントロールの設定が推奨されています。
認証方法がいくつか提供されています。簡単そうな GitHub による認証を設定してみます。
上部のメニューから、「ADMIN」 > 「Access Control」 を開きます。 1.Setup GitHub Application
の「click here」から、GitHub の アプリケーション登録画面 を開きます。「Register a new application」をクリックし、画面の指示に従い入力し、「Register application」で登録します。
生成された Client ID
と Client Secret
を Rancher の設定画面に入力し、保存します。「Authenticate with GitHub」をクリックし、認証を完了してください。
ふぅ、これで Rancher を利用する準備ができました!!(。・ω・)ゞ
コラム: Azure で Docker 環境を作るには?
さて、余談ですが、 Azure で Docker 環境を作るにはいくつか方法があります。
- さくっと動かすなら Azure App Service on Linux (Preview) が便利
- 1台のコンテナをさくっと動かすなら、
docker-machine
の Azure ドライバーが便利 - 複数のコンテナをさくっと動かすなら、仮想マシン + Docker Extension が便利
- 大規模、本番向けなら、マネージドのクラスタ環境 Azure Container Service (ACS) が便利
どれも、手順に従えばとても簡単に構築できますので、用途に合わせてご検討くださいませ!
Epilogue - おわりに
さぁ、Rancher の環境は整いました!
次回はいよいよ Azure をホストとして登録してみますよっ!(☆´ω`)ノ