Rancher V2.xからAKS(Azure Kubernetes Service)クラスタを追加するために必要な情報まとめ

#Rancher V2.xからAKS(Azure Kubernetes Service)クラスタを追加するための設定項目が、Azure Portalのどこから取得できるかをまとめておきます。
私自身が設定してみようとしてハマったためです。
## Rancher V2.xからAKS(Azure Kubernetes Service)クラスタを追加するための設定項目について
<img width="1747" alt="Screen Shot 2018-11-18 at 21.17.57.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/c2ee224d-f11d-c095-61b5-a33d80b6d8e5.png">
Rancher V2.xからAKS(Azure Kubernetes Service)クラスタを追加するためには、以下の設定項目が必要です。

- サブスクリプションID
- テナントID
- クライアントID
- クライアントシークレット
- ロケーション（※プルダウンメニューより選択）
- リソースグループ
- SSH公開鍵

### サブスクリプションID
<img width="1747" alt="Screen Shot 2018-11-18 at 22.13.52.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/45e0f7e7-2003-8ff9-dc56-0198bf02d9f2.png">
ホーム > すべてのサービス > サブスクリプションを選択すると、サブスクリプションIDが表示されます。
（該当するサブスクリプションをクリックすると詳細画面に遷移し、そこでコピーボタンを使ってコピーも可能です。）

### テナントID
<img width="1750" alt="Screen Shot 2018-11-18 at 23.22.42.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/9136f85c-e8e3-02bd-3fec-6c90bfb19914.png">
ホーム > Azure Active Directoryを選択すると、特に設定をしていなければ、既定のディレクトリが表示されますので、そこに表示されるディレクトリIDがテナントIDとなります。

### クライアントID・クライアントシークレット
クライアントID・クライアントシークレットの取得については、RancherをリソースにアクセスできるAzure ADアプリケーションとして登録する必要があります。
登録の方法については、以下のドキュメントに詳細な記載があります。
https://docs.microsoft.com/ja-jp/azure/active-directory/develop/howto-create-service-principal-portal
<img width="1750" alt="Screen Shot 2018-11-18 at 23.44.55.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/d997b378-270d-cbc7-cd3c-2b56c17ed1dd.png">
ホーム > Azure Active Directoryを選択すると、特に設定をしていなければ、既定のディレクトリが表示されますので、そこに表示されるサブメニューからアプリの登録を選択します。
新しいアプリケーションの登録を選択すると、登録画面が表示されます。
<img width="1750" alt="Screen Shot 2018-11-18 at 23.51.47.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/dd414e0b-0891-dd06-ac66-c915c851497e.png">
アプリ判別用の名前（ex. rancher）とRancherサーバーのログインURL（`https://Rancherサーバーのアドレス/login`）を入力して、作成ボタンを押すと、アプリの登録（作成）が完了します。
#### アプリケーションをロールに割り当てる
アプリケーションの登録が終わったら、Azureの操作を行うために、アプリケーションにロールを設定します。
必要な範囲（スコープ）の権限（ロール）を付けることになりますが、今回は参考にしたドキュメントに例として記載されている「サブスクリプションスコープの共同作成者ロール」を設定します。
<img width="1747" alt="Screen Shot 2018-11-21 at 6.50.51.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/ab4e599e-ea09-083c-5d49-8064bde22151.png">
ホーム > すべてのサービス > サブスクリプションを選択します。
<img width="1747" alt="Screen Shot 2018-11-21 at 6.53.14.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/dc17bd06-ea83-71af-5937-5d6db9735854.png">
該当するサブスクリプションをクリックして詳細画面に遷移し、アクセス制御（IAM）を選択します。
ツールバーの追加ボタンを押すとロールの割り当ての追加画面が表示されます。
<img width="1747" alt="Screen Shot 2018-11-21 at 6.57.35.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/1e502b6a-c622-c3f9-5cb4-5a68293996f9.png">
役割に共同作成者、名前にアプリケーション名を入力すると、登録したAzure ADアプリケーションが表示されますので、アプリケーションを選択して保存します。
<img width="1747" alt="Screen Shot 2018-11-21 at 7.02.10.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/bfbaace8-dfe3-fc5b-08b7-2183a13608d8.png">

#### クライアントシークレットを作成する
Azure Active Directoryのアプリの登録でロールの割り当てが終わったAzure ADアプリケーションを選択します。
<img width="1747" alt="Screen Shot 2018-11-21 at 7.09.03.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/c83a5c1e-be3d-83d6-6363-ada577ea2ee0.png">
<img width="1747" alt="Screen Shot 2018-11-21 at 7.13.02.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/3dab8c9e-6f30-c1a5-9def-32aaf387246d.png">
表示されるアプリケーションIDがクライアントIDとなります。
<img width="1747" alt="Screen Shot 2018-11-21 at 7.18.25.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/b9b0b6d9-7a10-4573-096f-956246e84471.png">
設定を押して、キーの説明を入力し、キーの期間を指定して保存すると、値が生成されて表示されますので、それをクライアントシークレットとして保存します。

### リソース グループを取得する
ホーム > リソースグループを選択すると、リソースグループ名が表示されますので、それを保存します。
（リソースグループをRancherの設定画面から新規に作成することも可能です）
<img width="1748" alt="Screen Shot 2018-11-21 at 7.37.13.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/d392dd8e-0806-fffd-3d88-d1819efe1028.png">

### SSH公開鍵を準備する
SSH公開鍵が必要となりますので、以下のドキュメントを参考にSSH公開鍵を生成・取得してください。
https://docs.microsoft.com/ja-jp/azure/virtual-machines/linux/mac-create-ssh-keys

### RancherでAKS(Azure Kubernetes Service)クラスタを追加する
これで全ての値が揃いましたので、RancherのAKS(Azure Kubernetes Service)クラスタを追加画面で入力してください。
<img width="1747" alt="Screen Shot 2018-11-18 at 21.17.57.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/c2ee224d-f11d-c095-61b5-a33d80b6d8e5.png">
<img width="1747" alt="Screen Shot 2018-11-21 at 21.13.36.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/95d58930-2e97-861a-a23e-4301aaa8f7bd.png">
注）きちんとKubernetesのバージョンを設定しないとエラーになります。
また、Azureの無料試用版サブスクリプションの場合、使用できるCore数の上限が4となっている（2018/11/21現在）ようで、それを超える設定をするとクラスタの生成に失敗します。
<img width="1747" alt="Screen Shot 2018-11-21 at 21.29.45.png" src="https://qiita-image-store.s3.amazonaws.com/0/114000/1523ac26-67d1-f7da-a85e-a9ac0280124f.png">