AzureのACS(kubernetes)に接続する

# azure-cli のインストール

## その前に必要なパッケージをインストールする
※ここではLinux/UNIXにインストールするので、その前提で進めます。
[サイト](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli#linux-prerequisites)より引用。

```
Platform              | Prerequisites
----------------------|---------------------------------------------
Ubuntu 15.10 or 16.04 | sudo apt-get update && sudo apt-get install -y libssl-dev libffi-dev python-dev build-essential
Ubuntu 12.04 or 14.04 | sudo apt-get update && sudo apt-get install -y libssl-dev libffi-dev python-dev
Debian 8              | sudo apt-get update && sudo apt-get install -y libssl-dev libffi-dev python-dev build-essential
Debian 7              | sudo apt-get update && sudo apt-get install -y libssl-dev libffi-dev python-dev
CentOS 7.1 or 7.2     | sudo yum check-update; sudo yum install -y gcc libffi-devel python-devel openssl-devel
RedHat 7.2            | sudo yum check-update; sudo yum install -y gcc libffi-devel python-devel openssl-devel
SUSE OpenSUSE 13.2    | sudo zypper refresh && sudo zypper --non-interactive install gcc libffi-devel python-devel openssl-devel
```

```
$cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"
```
ubuntu16系なので

```
$ sudo apt-get update && sudo apt-get install -y libssl-dev libffi-dev python-dev build-essential
```

## azure-cliのインストール

```
$ curl -L https://aka.ms/InstallAzureCli | bash
```

色々聞かれるけど基本yesで。
最後に`.bashrc`に書き込まれる旨が書かれるので、`az`コマンドが使えるようになる。
## 確認

```
$ az --version
azure-cli (2.0.2)

acr (2.0.0)
acs (2.0.2)
appservice (0.1.2)
batch (2.0.0)
cloud (2.0.0)
component (2.0.0)
configure (2.0.2)
container (0.1.2)
core (2.0.2)
documentdb (0.1.2)
feedback (2.0.0)
find (0.0.1b1)
iot (0.1.2)
keyvault (2.0.0)
lab (0.0.1)
monitor (0.0.1)
network (2.0.2)
nspkg (2.0.0)
profile (2.0.2)
redis (0.1.1b3)
resource (2.0.2)
role (2.0.1)
sql (2.0.0)
storage (2.0.2)
vm (2.0.2)

Python (Linux) 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609]
```

## kubectl のインストール

```
$ az acs kubernetes install-cli
```

```
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.1", GitCommit:"b0b7a323cc5a4a2019b2e9520c21c7830b7f708e", GitTreeState:"clean", BuildDate:"2017-04-03T20:44:38Z", GoVersion:"go1.7.5", Compiler:"gc", Platform:"linux/amd64"}
The connection to the server localhost:8080 was refused - did you specify the right host or port?
```

# azureにログインしてkubernetesの資格情報を取得する

```
$ az login
To sign in, use a web browser to open the page https://aeg.ms/devicelogin and enter the code GYM5MHXPP to authenticate.
```

azureにログインは出来たので、今度はazureのcontainer serviceにつなげる。

```
$ az acs kubernetes get-credentials --resource-group=リソースグループ名 --name=コンテナサービス名
```
※リソースグループ名とコンテナサービス名はazure portalで確認出来る。

ACSのkubernetesクラスタに接続できるか確認する。

```
$ kubectl get nodes
NAME                    STATUS                     AGE       VERSION
k8s-agent-63573ba9-0    Ready                      21d       v1.5.3
k8s-master-63573ba9-0   Ready,SchedulingDisabled   21d       v1.5.3
```
### 補足
このときクラスタを作成したときの秘密鍵を用意しておく必要がある。
azure portal 上で作成した場合は最初に登録した公開鍵と対になる秘密鍵を`~/.ssh/id_rsa`に用意しておく。

おしまい。

# 参考
https://docs.microsoft.com/en-us/cli/azure/install-azure-cli
https://docs.microsoft.com/en-us/cli/azure/install-azure-cli#linux-prerequisites