小ネタかつ今更な話題で恐縮です。 Docker Desktopには随分前のリリースから、Kubernetesクラスターを簡単にデプロイする設定が提供されていました。 しかし私はその機能をあえてお勧めせずに、「Docker Desktopをインストールしつつ、kindやminikube CLIを使ってクラスターを構築した方が便利ですよ」と言っていました。
その理由は、かつてのDocker DesktopのKubernetesオプションは特定のバージョンのKubernetesしか構築できなかったためです。クラスターのオン、オフが可能ですが、特にこれといったオプションのカスタマイズができず、特定のバージョンのクラスターしか利用できませんでした。
初めてKubernetesを触る場合はそれでもいいのかもしれませんが、テスト環境としてKubernetesを使うようになると、バージョンごとのテストをしたいシーンとかもあるので、バージョン固定だと辛いのですよね。一方kindやminikubeを使えば、バージョンや構成のカスタマイズも可能ですから。
現在ダウンロードできるDocker DesktopのKubernetesオプションは、二つの方法でKubernetesクラスターをデプロイします。
一つはkubeadmを使う方法。これは特定のバージョンのKubernetesのみデプロイできます。旧来のKubernetesオプションはkubeadmを使っていたのでしょうか。
もう一つはkindを使う方法。こちらはデプロイするKubernetsバージョンを選択できます。
手元のDocker Desktop 4.41.0では「1.21.14-1.33.0」のバージョンのKubernetesのデプロイをサポートしていました。バージョンの他、ノード数も指定してデプロイできます。マルチノードの簡易検証もできそうです。 バージョンとノードの数だけでよければこの機能を使えば、必要なバージョンのKubernetsクラスターをラップトップ上に構築できます。
% kubectl get node NAME STATUS ROLES AGE VERSION desktop-control-plane Ready control-plane 15m v1.33.0
ちなみにこの機能を使ってデプロイする場合、kubeadmやkind CLIをラップトップに入れる必要はありません。 ただ、もう少し細かい構成変更が必要なシーンではkindやminikubeを直接使ってクラスターを構築した方が便利なのかもしれません。