Windows10 HomeのPCにDocker Desktopを使ってkubernetesを導入する
2021-01-26
azblob://2022/11/11/eyecatch/2021-01-26-local-kubernetes-env-for-win10home-000.jpg

この記事はなむゆの個人ブログにマルチポストしています。

はじめに

Kubernetes、触ってますか?
普段は業務で触っているKubernetesですが、家でも学習用に環境を整えようとしたところかなり苦労した挙句やっとこさインストール方法を見つけることができました。
身の回りにもkubernetesやDockerのインストールで詰まる人を見かけるので今回はその時の導入手順をメモして共有しておきたいと思います。

Docker Desktopを使ってkubernetesを導入する

大雑把な方法としては、Docker Desktopには機能の一つとしてシングルノードのKubernetesを立てる機能が含まれているので、それを使ってWindows host上にkubernetesクラスターを立てます。
windows host上にkubernetesクラスターを立てる方法として他にminikubeを使う方法などもありますが、それよりシンプルに実行できるので個人的にはおすすめです。

Linux カーネル更新プログラム パッケージをダウンロード

まずはLinux カーネル更新プログラム パッケージをダウンロードします。
Docker Desktopでは仮想化に使用するWSL2を自動でインストールしてくれるのですが、そのために使用するLinix カーネルの更新プログラムを実行しておく必要があります。
msdnのWSLのインストール方法の手順4にある「x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージ」をダウンロードして実行しておきます。
これでDocker Desktopのインストールの準備は完了です。

Docker Desktopをインストール

DockerHubのサイトからDocker Desktopをダウンロードし、インストールします。
このとき、「Install required Windows components for WSL2」のチェックボックスにチェックを入れておきます。
チェックしたらOkをクリックしてインストールを行います。

なお、このタイミングでkubectlなどの後々必要になるツールも自動でインストールされます。便利!

kubernetesを有効化

タスクバーのDockerのアイコンを右クリックし、「Dashboard」をクリックします。
Dashboard上部の歯車のアイコンからセッティング画面に移動します。
セッティング画面のメニューからKubernetesを選びます。

Kubernetesのオプションの中で、「Enable Kubernetes」のチェックボックスをチェックします。

「インストールには時間がかかるよ~」というような文言が出るので、「Install」をクリックします。

しばらく時間が経った後、インストールが完了してdashboard下にDockerのマークとその横にkubernetesのマークが出ていれば完了です。

このタイミングで、Docker Desktopを利用して立てたkubernetesのクラスターに接続するためのkubeconfigの追記等が自動的に行われるようです。
なので、Powershellなどを開いてkubectl config get-contextのコマンドを打つと、現在docker-desktopのコンテキストが存在していてそれを利用していることが確認できます。

CURRENT   NAME             CLUSTER          AUTHINFO         NAMESPACE                                                    
*         docker-desktop   docker-desktop   docker-desktop          


もちろんこの状態からマニフェストファイルを適用するなどして作業を開始することができます。

幸せなkubernetesライフを!

おわりに

今回はWin10 Homeユーザー向けにローカル環境でのシングルノードのkubernetes環境の構築方法を共有しました。
普段使いの家のPCでkubernetesの学習環境を立ち上げたくなった時の方法はいくつもあり、結構複雑に感じる方法もあります。
その中でDocker Desktopを使う方法は個人的にシンプルでわかりやすく、手数も少なく済んだと感じています。
自宅でもkubernetesを触りってみたいという方に役立てば幸いです。

参考

azblob://2024/03/29/eyecatch/2024-03-29-openai-json-mode-000_0.jpg
2024/03/29
AI/Machine Learning