Docker for Mac (Edge) と Kubernetes Dashboard のインストールメモ

Docker for Mac (Edge) で Kubernetes が使えるようになったのでインストールしてついでにKubernetes Dashboardをインストールしてみた。

## Docker for Mac (Edge) のインストール
1.https://store.docker.com/editions/community/docker-ce-desktop-mac にアクセスしてEdge版をダウンロード
3.Docker for Mac (Stable) を実行中であれば停止
4.Docker.dmgを実行してアプリケーションフォルダにコピー
5.Docker for Mac (Edge) を起動
6.Dockerにログインしてねって言われるのでログイン
7.Docker for Mac (Edge) のPreferenceを開いてKubernetesを選択
8.Enable Kubernetesにチェックを入れてApplyを押下
9.インストールが始まるので終わるまでちょっと待っとく

## Kubernetes Dashboard のインストール
手順はここに書いてある通り。簡単。
https://github.com/kubernetes/dashboard
https://github.com/kubernetes/dashboard/releases

```
$ kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.8.1/src/deploy/recommended/kubernetes-dashboard.yaml
```

こんな感じでログが出たらOK。

```
secret "kubernetes-dashboard-certs" created
serviceaccount "kubernetes-dashboard" created
role "kubernetes-dashboard-minimal" created
rolebinding "kubernetes-dashboard-minimal" created
deployment "kubernetes-dashboard" created
service "kubernetes-dashboard" created
```

動いているか確認。

```
$ kubectl get deployments,replicasets,pods,service --all-namespaces -o wide --selector=k8s-app=kubernetes-dashboard
```
podのステータスがRunningになるまでちょい待つ。

```
NAMESPACE     NAME                          DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE       CONTAINERS             IMAGES
                                             SELECTOR
kube-system   deploy/kubernetes-dashboard   1         1         1            1           1m        kubernetes-dashboard   gcr.io/google_co
ntainers/kubernetes-dashboard-amd64:v1.8.1   k8s-app=kubernetes-dashboard

NAMESPACE     NAME                                 DESIRED   CURRENT   READY     AGE       CONTAINERS             IMAGES
                                     SELECTOR
kube-system   rs/kubernetes-dashboard-7c5d596d8c   1         1         1         1m        kubernetes-dashboard   gcr.io/google_containers
/kubernetes-dashboard-amd64:v1.8.1   k8s-app=kubernetes-dashboard,pod-template-hash=3718152847

NAMESPACE     NAME                                       READY     STATUS    RESTARTS   AGE       IP          NODE
kube-system   po/kubernetes-dashboard-7c5d596d8c-q7k2t   1/1       Running   0          1m        10.1.0.65   docker-for-desktop

NAMESPACE     NAME                       TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)   AGE       SELECTOR
kube-system   svc/kubernetes-dashboard   ClusterIP   10.111.182.163   <none>        443/TCP   1m        k8s-app=kubernetes-dashboard
```

Runningになったら、サービスを立ち上げる。

```
$ kubectl proxy
```

バックグラウンドでサービスを立ち上げるならこっち。

```
$ kubectl proxy &
```

これで接続できるようになっているのでブラウザで以下のURLにアクセスすればダッシュボードにアクセスできる。

http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/

せっかくなのでダッシュボードの動作確認用に手持ちのnginxのサンプルをデプロイしてみた。
https://github.com/Ricordanza/kubernetes-nginx

ダッシュボード上で見るとこんな感じ。

<img width="1215" alt="Overview_-_Kubernetes_Dashboard.png" src="https://qiita-image-store.s3.amazonaws.com/0/193001/94ee3e66-b960-6825-d2d4-5e89afc7fd2d.png">

## まとめ
Docker for Mac (Edge) も Kubernetes Dashboard も簡単にインストールできる。

上では触れてないけど、

```
$ source <(kubectl completion zsh)
```

ってやると補完が効くから慣れないうちは便利。
bashの場合はこっち、

```
$ source <(kubectl completion bash)
```