7
7

More than 1 year has passed since last update.

Windowsにdockerおよびkubernetesのローカル開発環境を構築する

Last updated at Posted at 2021-08-03

はじめに

クラウドのキーテクノロジーとなる kubernetes (以下、k8s) の知識習得のため、
Windows10パソコンにk8sクラスタを構築する環境構築方法をまとめます。

k8sとは

恐縮ですが、下記の拙稿をご参照いただけると幸いです。

ローカルにk8sの環境を構築する方法

k8s環境構築にはいくつか方法があります。
代表的なものは以下の3種類です。

  • Minikube
  • Docker Desktop
  • kind (k8s in Docker)
項目 Minikube Docker Desktop kind
バージョン選択 ×
マルチクラスタ ×
マルチノード × ×
機能性
手軽さ

今回はマルチクラスタ&マルチノードを視野に入れるため、kindを採用します。
kindを利用するためには、Dockerのインストールが必要となります。

ローカルk8s環境の構築手順

おおまかな構築作業の流れとしては以下のようになります。

  1. Ubuntu-20.04(WLS2)をインストール
  2. Docker Desktopをインストール
  3. kindをインストール

Ubuntu-20.04をインストール

Powershellを起動して、下記コマンドでインストーラをダウンロード&インストールします。

powershell
# Ubuntu.appxというファイル名としてダウンロード
Invoke-WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile Ubuntu.appx -UseBasicParsing

# ダウンロードしたファイルを元にアプリインストール
Add-AppxPackage .\Ubuntu.appx

Ubuntu-20.04の設定

以下ユーザー名の入力を求められたら何も入力せず、ウィンドウを閉じましょう。
そうすることでrootで自動ログインできます。
image.png

Dockerをインストール

詳細はこちら公式ドキュメントをご確認ください。
インストールの流れは以下です。

1. Docker Desktop Installer.exe をダブルクリックし、インストーラを起動します。
2. 確認画面が出たら、 Enable Hyper-V Windows Features (Hyper V の Windows 機能を有効にする)のオプションが、設定ページで選択されているかどうかを確認します。
3. インストール・ウィザードの指示に従い、利用規約を承諾し、インストーラに権限を与えてインストールを進めます。
4. インストールに成功したら、 Close (閉じる)をクリックしてインストールを終了します。

管理者(admin)アカウントと使用中のアカウントが異なる場合、 docker-users グループにユーザを追加する必要があります。(Windows の) コンピュータの管理 を管理者として起動し、 ローカル ユーザーとグループ > グループ > docker-users を右クリックし、対象ユーザをグループに追加します。ログアウト後に戻ってくると、設定が有効になっています。

Dockerの設定

Ubuntu-20.04(WSL2)からdockerコマンドを叩けるようにするため、ONにします。
image.png

kubectlを使えるようにするため、ONにします。(それなりに時間がかかる。)
image.png

ここまで正常インストール出来たかチェック

Ubuntuを起動して、下記コマンドを叩きます。
各バージョン情報が表示されればインストール完了です。

Ubuntu
# Docker version
docker -v

# kubectl version
kubectl version --client

実行画面image.png

kindをインストール

最後にkindのインストール方法です。
詳細は公式ドキュメントをご確認ください。

Ubuntu
# kindをダウンロード
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.11.1/kind-linux-amd64

# 実行権限付与
chmod +x ./kind

# 実行ファイルを移動
mv ./kind /usr/local/bin/

# バージョン確認
kind version

実行画面image.png

このようにkindのバージョンが表示されれば完了です。

k8sを試しに動かしてみる。

hello-worldと呼ばれるexampleのDockerをk8s上で動かしてみます。
--restart=Neverは、取り敢えず呪文だと捉えてください。

Ubuntu
# hello-worldのDockerイメージをk8sで動かす。
kubectl run hello-world --image hello-world --restart=Never

# k8s上のコンテナ(pod)のステータスの確認する。
kubectl get pod

# hello-worldコンテナ内部のログ確認する。
kubectl logs pod/hello-world

実行画面

image.png

Hello from Dockerと表示され、hello-worldコンテナが動いていることを確認できました。
動作確認ができたので、hello-worldを削除しておきます。
下記コマンドを実行してください。

Ubuntu
# コンテナ(pod)を削除する。
kubectl delete pod/hello-world

実行画面
image.png

さいごに

Windows10パソコン上にk8sクラスタを構築する準備ができました。
またk8sでhello-worldのDockerコンテナを動かしてみました。
k8sクラスタの構築については、新たに記事を執筆したいと思います。

以上です。

7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7