とことんDevOps | 日本仮想化技術のDevOps技術情報メディア

DevOpsに関連する技術情報を幅広く提供していきます。

日本仮想化技術がお届けする「とことんDevOps」では、DevOpsに関する技術情報や、日々のDevOps業務の中での検証結果、TipsなどDevOpsのお役立ち情報をお届けします。
主なテーマ: DevOps、CI/CD、コンテナ開発、IaCなど
読者登録と各種SNSのフォローもよろしくお願いいたします。

Docker Desktopの便利なKubernetesオプション

小ネタかつ今更な話題で恐縮です。 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を直接使ってクラスターを構築した方が便利なのかもしれません。