Rancher ServerをMac上で運用する with GKE

約１年前に私がRancherに触れた頃に、Mac上でRancher Serverを構築しようとしてうまく行かなかったことがあったのですが、この記事は、それのリベンジを試みた記事です。
（当時の経緯は[この辺のスライド](https://speakerdeck.com/machshev/apurikesiyonenziniagaji-cun-falsemarutikontenahuan-jing-worancherguan-li-niyi-xing-siyoutositehamatutahua?slide=15)に書き残してありました…）

私がRancherに最初に触れた昨年後半では、まだVersion 1.6系の頃で、もちろんDocker for Macへのインストールは非推奨でした。（今もDocker for Macへのインストールは非推奨です…[推奨環境はこちら](https://rancher.com/docs/rancher/v2.x/en/installation/requirements/)）

## 今回インストールを試みたDocker for Mac環境

<img width="696" alt="Screen Shot 2018-12-24 at 2.44.43.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/1a280086-0256-0d1e-5a2f-4e80ed523eeb.png">
気がつけば、Versionが2.0.0.0となっており、 Engineも18.09に更新されています。

## ターミナルでおまじないを実行

dockerがインストールされていれば、ターミナルだけで以下のコマンドを実行するだけで、Rancherがインストールされる（はず）ですが…

```shell:Rancher&nbsp;install
docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:latest
```

<img width="697" alt="Screen Shot 2018-12-24 at 2.54.20.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/c2723eaf-6f08-80af-f1e1-cbb6925dd435.png">
とりあえず、コマンドはうまく実行されたようです。

## 起動できるかどうかを確認

```
https://localhost
```
をブラウザに入力して、起動できるかどうかを確認します。
<img width="1432" alt="Screen Shot 2018-12-24 at 2.57.34.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/9c3aa796-969f-2241-4a62-d69476fa8dfc.png">
接続確認の画面が出ました。
<img width="1432" alt="Screen Shot 2018-12-24 at 2.57.49.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/45c88e62-9da7-ea65-7604-fee258b7dd5f.png">
無事に起動したようです。
パスワードを設定して先に進みます。
<img width="1432" alt="Screen Shot 2018-12-24 at 3.06.52.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/64615024-6088-c167-dfd5-5149f0ad0716.png">

## GKEにクラスタを作成し、Prometheusを導入
せっかくなので、GKE(Google Kubernetes Engine)にクラスタを作成して、Rancher CatalogからPrometheusを入れてみます。

<img width="1432" alt="Screen Shot 2018-12-24 at 3.10.25.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/14695b1e-bffd-767c-d54c-3280152e0f63.png">
GKEを選択して、クラスター名を入力し、サービス連携用のjsonファイルを貼り付け、ノード設定情報（一番下の部分）を入力して、「作成」ボタン（この画面では隠れてしまっていますが）を押すとクラスターの作成が始まります。
<img width="1432" alt="Screen Shot 2018-12-24 at 3.14.34.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/e8f2ef55-e70c-4abb-6113-9aba1fa4fbc4.png">
しばらくすると、クラスターの作成が完了して、Rancher上でクラスターの状態が確認できるようになります。
<img width="1432" alt="Screen Shot 2018-12-24 at 3.17.31.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/581c1479-6ff0-2230-09ce-866845b3b57b.png">
カタログからPrometheusを選んで、導入してみましょう。
作成したクラスターのDefaultを選択したところで、画面上のメニューからカタログアプリを押下します。
<img width="1432" alt="Screen Shot 2018-12-24 at 3.19.42.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/2ab7d23a-469e-4c0d-d833-1e371b015ab3.png">
起動ボタンを押下すると、カタログの一覧画面が出てきます。
<img width="1432" alt="Screen Shot 2018-12-24 at 3.21.43.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/695f7ace-4618-8396-d9ce-19537e658877.png">
<img width="1432" alt="Screen Shot 2018-12-24 at 3.22.47.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/af061329-addc-cb10-f6f4-37839237ddcf.png">
今回は、Prometheus（from Library）を選択します。
（バージョンは若干古いようですが、一緒にgrafanaも導入されるので、簡単に監視環境が構築できます。）
<img width="1432" alt="Screen Shot 2018-12-24 at 3.25.26.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/db1ebc48-03a9-5396-0660-03b7ee22757f.png">
<img width="1432" alt="Screen Shot 2018-12-24 at 3.26.26.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/ae90687b-73b6-6bdb-d3cf-6afda67386f4.png">
いろいろ設定できますが、最低限入れなければならないのは、
Grafana Admin Password位です。起動ボタンを押下すると、Prometheusとgrafanaがデプロイされます。
<img width="1432" alt="Screen Shot 2018-12-24 at 3.28.10.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/78e024e4-7dfc-7bc9-a363-2707eaf6cbc7.png">
<img width="1432" alt="Screen Shot 2018-12-24 at 3.30.21.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/183c5544-98f5-bcd2-4237-30591a2faedc.png">
<img width="1432" alt="Screen Shot 2018-12-24 at 3.31.24.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/e7a2f269-1d5e-fe5a-8ebc-58dc701f17e1.png">
うまくデプロイできたようなので、prometheus-grafanaを起動してみます。
<img width="1432" alt="Screen Shot 2018-12-24 at 3.33.05.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/82554ec1-8c23-a4ec-2bcb-ea9db7bc8131.png">
<img width="1432" alt="Screen Shot 2018-12-24 at 3.33.05.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/57785d83-cb16-b261-3d57-705cc61fab08.png">
<img width="1432" alt="Screen Shot 2018-12-24 at 3.34.08.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/a40ee599-9dc9-ab2d-c033-8b270b4b9d68.png">
自分自身がモニターできていることが確認できます。

## 終わりに
私がハマっていた当時とは、Rancher自身のアーキテクチャも変わってしまい、Kubernetesをターゲットとしたものになってしまっていますが、Mac上でもRancher Serverを導入し、Managed Kubernetesクラスターを管理できることがわかりました。
現時点では、相変わらず環境としてはDocker for Macは非推奨なので、実運用等には**絶対オススメしません**が、ちょっと試してみるには気軽に構築できるのでよいのではないでしょうか。
（あくまで非推奨なので、試行は自己責任でお願いします）