kubernetes on Docker Desktop がstableになったので、installしてみる

3日ほど前、kubernetes on Docker Desktop(mac,windows)がstableになりました。

- [
KUBERNETES IS NOW AVAILABLE IN DOCKER DESKTOP STABLE CHANNEL](
https://blog.docker.com/2018/07/kubernetes-is-now-available-in-docker-desktop-stable-channel/)

個人で勉強するために、GCP登録するのは気がひけるので、ずっとDocker Desktopで使えるのを待ってました。

kubernetesのことはまったく分かりませんが、このビッグウェーブに乗るため手を動かします。手を動かしていればそのうち理解できるでしょう :kissing_heart:

# Docker Desktopをアップデート
アップデート前のaboutページ
<img width="585" alt="before-update1.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/110482/85f2b262-903d-c118-c5d5-22d4f3dfdb45.jpeg">

アップデート前のpreferenceページ
<img width="500" alt="before-update2.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/110482/c65162bb-eb88-a74d-374b-2f2ad4c4cfd7.jpeg">

dockerを立ち上げると、kubernetesが使えるバージョンへのアップデートが登場します
<img width="615" alt="update_install.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/110482/9f045956-81a8-cdef-a607-435eabe4ec51.jpeg">

アップデート後のaboutページ
<img width="583" alt="after-update.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/110482/1cacc2c6-b5da-08bf-2e71-347973ca55f4.jpeg">

アップデート後のpreferenceページにkubernetesを使用するための、選択が登場します。Enableをチェックしましょう。

<img width="495" alt="ckeck-kube.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/110482/8761ede9-c049-ca33-ee72-30d7b834a4f9.jpeg">

Applyを押下すると、ほう、時間がかかるとな？(確かに3,4分かかりました)
<img width="491" alt="時間がかかるとな.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/110482/4b1cc465-b221-f620-8464-fdc289926003.jpeg">

終了~ (下部にkubernetes is runnig の表示が!)
<img width="500" alt="added-kubemenu.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/110482/6197434d-ddc2-8632-3b04-c0bf90e9aa71.jpeg">

# 動作するかを確認する

- kubectl(基本コマンドらしいです) でclientバージョンとserverバージョンの確認。
   - バージョンが異なった場合どうなるかは分かりません

```
$ kubectl version                                                                                                                                                                           
Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.3", GitCommit:"2bba0127d85d5a46ab4b778548be28623b32d0b0", GitTreeState:"clean", BuildDate:"2018-05-21T09:17:39Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.3", GitCommit:"2bba0127d85d5a46ab4b778548be28623b32d0b0", GitTreeState:"clean", BuildDate:"2018-05-21T09:05:37Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
```

- kubectl config current-context
    - localからリモートのkubernetesを動かすこともあるので、どこに作用するかの確認だと思う
    - localを向いているみたいね
```
$ kubectl config current-context                                                                                                                                                            
docker-for-desktop
```
- kubectl cluster-info
    - クラスタ情報を見れるコマンドみたいです

```
$ kubectl cluster-info                                                                                                                                                                   
Kubernetes master is running at https://localhost:6443
KubeDNS is running at https://localhost:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/pro
```

# Kubernetes Dashboard を動かす

dashboardを動かしているチュートリアルをよく見るのでやってみます。githubにレポジトリがあったので、公式のReadme.md に従います。

- kubectl apply
    - applyするみたいです。(installじゃないんだ :thinking: )

```
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml

secret "kubernetes-dashboard-certs" created
serviceaccount "kubernetes-dashboard" created
role.rbac.authorization.k8s.io "kubernetes-dashboard-minimal" created
rolebinding.rbac.authorization.k8s.io "kubernetes-dashboard-minimal" created
deployment.apps "kubernetes-dashboard" created
service "kubernetes-dashboard" created
```
- kubectl proxy
   - プロキシが必要みたいで

```
$ kubectl proxy                                                                                                                                                                             
Starting to serve on 127.0.0.1:8001
```

- 127.0.0.1:8001 にアクセス
    - ```http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/```

<img width="1229" alt="スクリーンショット 2018-07-28 23.41.53.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/110482/a5f4528e-e597-7f9e-1fa7-39bfab0a5e32.jpeg">

お、立ち上がった! (この画面はスキップします)

<img width="1226" alt="スクリーンショット 2018-07-28 23.42.19.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/110482/55d58995-3e43-efa7-efa1-48af0cfca849.jpeg">

Dashboardが立ち上がりました!
これで勉強できるね :relaxed:

# 参考
- [Tutorial : Getting Started with Kubernetes with Docker on Mac](https://rominirani.com/tutorial-getting-started-with-kubernetes-with-docker-on-mac-7f58467203fd)
- [kubernetes/dashboard: General-purpose web UI for Kubernetes clusters](https://github.com/kubernetes/dashboard)