Dockerは同社の安定版チャネルを通じて、Windows用およびMac用Docker DesktopのKubernetesサポートをリリースした。KubernetesはDocker Enterpriseでもサポートされているので、両システムに同じイメージがデプロイ可能になる。この中にはDocker Composeのサポートも含まれており、kubeconfigファイルの代わりにComposeファイルを使用して、Kubernetesクラスタへのデプロイを行うことができる。
バージョン1.10.3のリリースに合わせて、macOSおよびWindows 10用のDocker Desktopは、Kubernetesを完全にサポートする。Kubernetesコンテナは、Docker DesktopがDockerコンテナのホストに使用するのと同じLinux VM内で動作する。これにより、ローカルマシンのポートがコンテナに自動マッピングされて、ホストからブラウズ可能になるなど、Docker Desktopですでに提供されているものと同じ機能セットが提供されるようになる。Kubernetesサーバは単一ノードのクラスタとして動作し、現時点では構成の変更はできない。
Docker Desktopにはkubect
が付属しており、コマンドラインからクラスタを操作することができる。例えば、Kubernetes YAMLファイルが既にあれば、次のようにデプロイ可能である。
docker-compose build
kubectl apply -f /path/to/kube-deployment.yml
また、Docker ComposeがKubernetesに完全に統合されていて、デプロイにも使用できる。
docker stack deploy -c /path/to/docker-compose.yml mystack
Docker Composeを活用して、スタックのデプロイメントをKubernetesとSwarmに分割したり、切り替えたりすることも可能だ。KubernetesとSwarmに同じイメージを同時にデプロイすることは、ポートやサービス名の競合が発生する可能性があるため、推奨されない。
Docker EnterpriseもKubernetesをフルサポートしているので、これにより、Docker Desktopで開発とテストをローカルに行なった上で、Dockerコンテナ化された同じアプリケーションを運用向けにデプロイすることが可能になる。Docker DesktopはKubernetesディストリビューションとして正式に認定されており、CNCF Conformanceテストスイートでテスト済みである。
Kubernetesをローカル実行する方法としては、他にもMinikubeがある。同社プロジェクトマネージャのGareth Rushgrove氏は、MinikubeとDocker Desktopのユースケースを比較して、次のように述べている。
MinikubeがKubernetesで開発する人たち向けであるのに対して、Docker Desktopは、その上で実行するアプリケーションを開発する人たちに最適です。Minikubeには特定バージョンのKubernetesのローンチや、便利なアドオン、さまざまなランタイムといった多彩なオプションがあるのに対して、Docker Desktopは、意図的にバックグラウンドに置かれています。ボタンをクリックするだけで、開発に必要なKubernetes APIが用意できるのです。
Docker DesktopはWindowsとMacで使用可能である。一般的な議論や支援は、Dockerコミュニティフォーラムで受けることができる(MacまたはWindows)。バグ報告やフィードバックもGitHub(MacまたはWindows)経由で受け付ける。
この記事を評価
- 編集者評
- 編集長アクション