Rancher 2.0 Technical PreviewでAzure Container Service(AKS) Kubernetes Clusterをインポートしてみる

先日発表された、Microsoft Azureのkubernetesのマネージドサービス[AKS](https://azure.microsoft.com/ja-jp/blog/introducing-azure-container-service-aks-managed-kubernetes-and-azure-container-registry-geo-replication/)のkubernetes clusterもRancher2.0にインポートしてみようと思います。

# 1.AKS Kubernetes Clusterの構築

## 1.Microsoft Azure申し込み

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

- [Microsoft Azureの申し込み](https://azure.microsoft.com/ja-jp/free/?&WT.srch=1&wt.mc_id=AID631158_SEM_miuuyKqA&gclid=CjwKCAjw-NXPBRB4EiwAVNRLKrL1mQ5l-NRD-UXUzu_vA_d6Omi9HpqA_sPYxBBE9V29bD_EAncn2hoCA5AQAvD_BwE)

## 2.Microsoft Azureにログインし、Cloud Shellを起動します。

a.「Cloud Shell」のアイコンをクリックします。
b.「Bash(Linux)」をクリックします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/61606/fcca6893-d453-e459-c87e-fea56bfa590f.png)

c.「Create storage」ボタンをクリックします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/61606/e404c7fd-af88-0780-b3b7-699d3dafdf89.png)

## 3.Cloud Shellで以下のコマンドを実行します

```lang:コマンド
$ az provider register -n Microsoft.ContainerService
```
![image.png](https://qiita-image-store.s3.amazonaws.com/0/61606/c37d2cfa-7b28-affb-370b-89186abb3367.png)

```lang:コマンド
$ az group create --name myResourceGroup --location westus2
```

![image.png](https://qiita-image-store.s3.amazonaws.com/0/61606/b9e5a79f-936d-4f9b-4995-006108adacb0.png)

```lang:コマンド
$ az aks create --resource-group myResourceGroup --name myK8sCluster --agent-count 1 --generate-ssh-keys
```

![image.png](https://qiita-image-store.s3.amazonaws.com/0/61606/61c75a94-daf1-fc61-1158-ad13b0ea7205.png)

```lang:コマンド
$ az aks install-cli
```

![image.png](https://qiita-image-store.s3.amazonaws.com/0/61606/38584dc0-18a0-51c2-95f6-f63adf6b2082.png)

```lang:コマンド
$ az aks get-credentials --resource-group=myResourceGroup --name=myK8sCluster
```

![image.png](https://qiita-image-store.s3.amazonaws.com/0/61606/da327cee-53b3-1d4d-5f58-4f23a0b59022.png)

```lang:コマンド
$ kubectl get nodes
```

![image.png](https://qiita-image-store.s3.amazonaws.com/0/61606/7e178682-762e-927d-7fa4-0ddd298da629.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にAKS 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コマンドをコピーして、AKS K8Sクラスタで実行します。

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

![image.png](https://qiita-image-store.s3.amazonaws.com/0/61606/6ed04577-0741-ac23-93c4-b0189fda052e.png)

![image.png](https://qiita-image-store.s3.amazonaws.com/0/61606/ef8c301c-4f96-d087-541b-e0ba06cb485a.png)

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

![image.png](https://qiita-image-store.s3.amazonaws.com/0/61606/f36fc696-97f9-0ff7-e71d-e80f4c86f91c.png)

Rancher2.0では、簡単にAKSをはじめとする既存の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

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

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