Rancher 2.0 Technical PreviewでBluemix Kubernetes Clusterをインポートしてみる

[Rancher 2.0 Technical PreviewでGKE Kubernetes Clusterをインポートしてみる](https://qiita.com/cyberblack28/items/bc01122a634150335b6f)に続いてBluemix Kubernetes Clusterをインポートしてみようと思います。

# 1.Bluemix Kubernetes Clusterの構築

## 1.Bluemix申し込み 

以下からBluemixの申し込みを行います。

- [Bluemixの申し込み](https://console.bluemix.net/registration/?cm_mc_uid=97835411517215050508075&cm_mc_sid_50200000=1509277320&cm_mc_sid_52640000=1509277320)

## 2.Bluemixにログインして、クラスタの作成

「コンテナーでのアプリのデプロイ」をクリックします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/61606/6369bb17-7a8e-36a4-e4ce-885355be909d.png)

## 3.「Lite plan」を選択して、「クラスターの作成」ボタンをクリックします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/61606/164e55ff-59f5-3935-6f56-441f57161308.png)

「準備完了」であることを確認します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/61606/875997cd-0f12-a704-5736-1849a6cc808f.png)

## 4.Bluemix CLI と kubernetes CLIをダウンロードしてインストールします。

Bluemix CLI（Mac,Linux,Windows）をダウンロードしてインストールします。今回はWindows版を利用します。

[https://clis.ng.bluemix.net/ui/home.html](https://clis.ng.bluemix.net/ui/home.html)

![image.png](https://qiita-image-store.s3.amazonaws.com/0/61606/8f5cdefa-beed-16c5-9f0c-84369cf5906c.png)

kubernetes.exeをダウンロードします。

[https://storage.googleapis.com/kubernetes-release/release/v1.8.0/bin/windows/amd64/kubectl.exe](https://storage.googleapis.com/kubernetes-release/release/v1.8.0/bin/windows/amd64/kubectl.exe)

ダウンロード後に「C:\Program Files\IBM\Bluemix\bin」にkubernetes.exeを移動します。

## 5.Bluemix CLIから以下のコマンドを実行します。

```lang:コマンド
> bx plugin install container-service -r Bluemix
```

自分の Bluemix アカウントにログインします。

```lang:コマンド
> bx login -a https://api.au-syd.bluemix.net
Email >
Password >
アカウントを選択します (または Enter キーを押してスキップします):
1.アカウント名's Account (aa1a87213f3f04723ea30ef1451088ae)
数値を入力してください> 1
ターゲットのアカウントアカウント名's Account (aa1a87213f3f04723ea30ef1451088ae)

ターゲットのリソース・グループ Default

API エンドポイント:   https://api.au-syd.bluemix.net (API バージョン: 2.75.0)
地域:                 au-syd
ユーザー:           Email address
アカウント:        アカウント名's Account (aa1a87213f3f04723ea30ef1451088ae)
リソース・グループ:   Default
組織:
スペース:

Tip: If you are managing Cloud Foundry applications and services
- Use 'bx target --cf' to target Cloud Foundry org/space interactively, or use 'bx target -o ORG -s SPACE' to target the org/space.
- Use 'bx cf' if you want to run the Cloud Foundry CLI with current Bluemix CLI context.
```
IBM Bluemix Container Service のプラグインを初期化します。

```lang:コマンド
> bx cs init
Using default API endpoint: https://ap-south.containers.bluemix.net
OK
```

ターミナル・コンテキストをクラスターに設定します。

```lang:コマンド
> bx cs cluster-config mycluster
OK
mycluster の構成は正常にダウンロードされました。 環境変数をエクスポートして Kubernetes の使用を開始してください。

SET KUBECONFIG=C:\Users\y.ichikawa\.bluemix\plugins\container-service\clusters\mycluster\kube-config-mel01-mycluster.yml

> SET KUBECONFIG=C:\Users\y.ichikawa\.bluemix\plugins\container-service\clusters\mycluster\kube-config-mel01-mycluster.yml
```
Kubectlコマンドを実行します。

```lang:コマンド
> kubectl get nodes
NAME             STATUS    AGE       VERSION
10.118.243.175   Ready     1h        v1.7.4-1+1540c973d4ff9d
```

Kubernetes Dashboardも起動できます。

```lang:コマンド
> kubectl proxy
Starting to serve on 127.0.0.1:8001
```
![image.png](https://qiita-image-store.s3.amazonaws.com/0/61606/6a051cac-5a1d-8074-14e2-1ffcf10d8c85.png)

# 2.Rancher2.0 Serverの構築

## 1. Compute Engineから「VMインスタンス」を選択します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/61606/eded18f5-f0c7-144d-606f-b076a45465ea.png)

## 2.「インスタンスを作成」をクリックします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/61606/6347b9ef-462d-b008-bbde-a7df58dfff91.png)

## 3. 以下の内容でインスタンスを作成します。

設定を入力後、「作成」ボタンをクリックします。

| 項目       |       入力概要|
|:-----------------|:-----------------|
| 名前|rancher-server|
| ゾーン|asia-northeast1-c|
| ブートディスク|Ubuntu 16.04 LTS|
| ディスクサイズ|100GB|
| ファイアウォール|「HTTPトラフィックを許可する」と「HTTPSトラフィックを許可する」にチェックを入れます。|

![image.png](https://qiita-image-store.s3.amazonaws.com/0/61606/49ba483e-114b-0934-fd81-2399e83ef187.png)

## 4. 作成したインスタンスにSSH接続します。

「ブラウザウィンドウで開く」を選択します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/61606/5f3e5516-a041-a0cb-f66f-7472757e2883.png)

## 5. rootのパスワードを設定します。

```lang:コマンド
$ sudo passwd root
```

![image.png](https://qiita-image-store.s3.amazonaws.com/0/61606/a059e992-74ac-689e-914f-3cfd0e5d9dff.png)

## 6. Dockerをインストールします。

```lang:コマンド
$ curl https://releases.rancher.com/install-docker/1.12.6.sh | sh
```
![image.png](https://qiita-image-store.s3.amazonaws.com/0/61606/2597b92c-611b-e36b-432b-b17ef871d074.png)

## 7. Rancher2.0 Serverをインストールします。

```lang:コマンド
$ sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server:preview
```

![image.png](https://qiita-image-store.s3.amazonaws.com/0/61606/eed9b923-2063-76ae-2c3d-50f8330684a2.png)

## 8. ブラウザでRancher2.0 Serverの管理画面にアクセスします。

http://インスタンスの外部IP:8080/

![image.png](https://qiita-image-store.s3.amazonaws.com/0/61606/ae12761b-c107-ee67-0709-4ca895106243.png)

# 3. Rancher2.0 ServerにBluemix kubernetes clustersをインポート

## 1. Welcome to Rancher! の「Got It」をクリックします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/61606/9051e991-23ff-9ca6-d1be-3fddd6ed8801.png)

## 2. Use existing Kubernetesの「Select」ボタンをクリックします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/61606/1f74c328-d737-6a6b-e709-c4ca72542c31.png)

## 3. 「Save」ボタンをクリックします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/61606/af60ff97-f91c-c912-7346-0f80e09aadd1.png)

## 4. 表示されているkubectlコマンドをコピーして、Bluemix K8Sクラスタで実行します。

a.kubectlコマンドをコピーします。
b.コマンドプロンプトでコピーしたkubectlコマンドを実行します。
c.「Close」ボタンをクリックします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/61606/286e82c9-0666-16ed-33d5-e7e817e44581.png)

![image.png](https://qiita-image-store.s3.amazonaws.com/0/61606/f176b94b-de6f-a511-6080-c3fb810cbc15.png)

## 5. Bluemixのk8s Clusterがインポートできていることを確認します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/61606/10cde927-bcee-7aad-8d41-0f86cd0bb9bb.png)

Rancher2.0では、簡単にBluemixをはじめとする既存のKubernetes Clusterをインポートして管理することができます。

# Document of Rancher2.0

Rancher 2.0に関する情報は以下となります。（2017年10月時点）

## Press Release

- [Rancher Labs](https://rancher.com/announcing-rancher-2-0/)
- [Rancher Labs Japan](https://prtimes.jp/main/html/rd/p/000000003.000027827.html)

## Rancher 2.0 Special Site

- [Rancher 2.0 特設サイト](https://rancher.com/rancher2-0/)
- [DEEP DIVE AND DEMO](https://www.youtube.com/watch?v=cATqiXBZ8MY&feature=youtu.be)
- [TECHNICAL ARCHITECTURE](https://cdn2.hubspot.net/hubfs/468859/Whitepapers/Rancher%202.0%20Technical%20Architecture%20-%20Sept%202017.pdf)

# Others

インポートしたBluemix Kubernetes ClusterにRancherのカタログ機能からいくつかのアプリをデプロイしてみましたが、コンテナーが起動しなかったりしました。GAでは改善されていることを期待します。

Rancher Serverは、IBM Bluemix infrastructureで構築する方がよかったかもしれませんね。。