DockerCon EU 2017で、DockerがKubernetesを統合・サポートすると発表されました が、本日ついにKubernetesサポート版Docker for macが(Edgeリリースですが)リリースされました!

これにより、macを使用している場合は(おそらく過去最も簡単に)開発用Kubernetesクラスタを起動することができるようになりました!

この記事では、Docker for macでKubernetesを立ちあげる手順をまとめておきます。

Kubernetesの起動手順

Docker for macのStable版を利用している場合、Edge版をインストールする必要があります。 Install Docker for mac のページから、Edge Channelのインストーラをダウンロードし、インストールします。 Dockerを終了させておけば、Stable版を自分でアンインストールする必要はありません1。 Edge版をインストールし、Dockerの設定画面を開くと、以下の様にKubernetesタブが追加されています!!

Docker設定画面(General)

Kubernetesタブで、Kubernetesの有効化・無効化を簡単に切り替えることができます。

Docker設定画面(Kubernetes)

Enable Kubernetesにチェックを入れ(Show system containersはお好みで)、Apply & Restartボタンを押すと、「Kubernetesの初回インストールは少し時間かかるけど、インストールする?」という確認画面が出るので、Installを押します。

docker-preference-progress-kubernetes

一応プログレスバーが出るのですが、余り意味はありませんでした・・・ 数分でインストールが終わります。

docker-preference-done-kubernetes

無事インストールが終了したら、Closeを押したあと、設定画面を閉じます。

この時点で、DockerメニューにもKubernetesのステータスが表示されています。

docker-menu-kubernetes-is-running

今回私はShow system containersをオンにしたので、docker ps2するとKubernetesの動作に必要なコンテナが起動しています。 DNS、API Server、Etcd、Scheduler、Proxyと最小限の構成ですね。

kubectlが自動でインストールされるのかどうかは・・・・わかりませんでした。(すでにインストール済みだったため) kubectlがインストール済みの場合、自動でコンフィグが追加され、以下のコマンドでcontextを選択することで操作できるようになります。

$ kubectl config use-context docker-for-desktop

docker-kubectl-get-nodes

kubectl get nodesすると、確かに1ノード構成でクラスタが立ち上がっているのがわかります。


  1. Edge版の初回起動時にアンインストールされます ↩︎

  2. docker container lsと打つのは面倒ですね ↩︎