Minikube のインストール,Minikube の基本機能(Windows 上)
【概要】
Minikube は,1台のパソコンの中に Kubernetes(コンテナの配置・実行・管理を自動化するソフトウェア)のクラスタを作るソフトウェアである.学習や開発のために,手元の環境で Kubernetes を試すことができる.
このページでは,Windows へのインストールと,Deployment(Pod の作成と維持を管理するしくみ)や Service(Pod を外部に公開するしくみ)の基本操作を説明する.手順は Minikube 公式ページと Kubernetes 公式チュートリアルに従う.
Minikube を動かすには,コンテナ管理ソフトウェアまたは仮想マシン管理ソフトウェア(Docker,Hyper-V など)と,2 CPU 以上,2GB 以上の空きメモリ,20GB 以上の空きディスクが必要である.
【目次】
- 1. 前準備
- 2. Chocolatey のインストール(Windows 上)
- 3. Minikube のインストール
- 4. コンテナイメージの作成
- 5. Minikube を使ってみる
- 6. Pod の公開
- 7. クリーンアップ
【関連する外部ページ】
- Minikube 公式ページ(インストールと最初の手順): https://minikube.sigs.k8s.io/docs/start/
- Kubernetes 公式チュートリアル「Hello Minikube」: https://kubernetes.io/ja/docs/tutorials/hello-minikube/
- Windows での Hyper-V の有効化(Microsoft): https://learn.microsoft.com/ja-jp/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v
- ローカルのイメージを Minikube で使う方法: https://minikube.sigs.k8s.io/docs/handbook/pushing/
【サイト内の関連情報】
- Windows用ソフトウェアインストールガイド: https://www.kkaneko.jp/tools/win/index.html
- Windows での Docker のインストール: dockercompose.html
1. 前準備
Docker のインストール
Minikube は,既定では Docker をコンテナの実行環境(ドライバ)として使う.
Windows での Docker のインストール: 別ページ »で説明
Windows の Hyper-V の機能を有効にしておく
仮想マシンのドライバとして Hyper-V を使う場合は,次のページを参考に,Windows の Hyper-V の機能を有効にしておく.
https://learn.microsoft.com/ja-jp/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v
Hyper-V の状態は「systeminfo」で確認できる.次のように,「Hyper-V の要件: ハイパーバイザーが検出されました。Hyper-V に必要な機能は表示されません。」と表示されたときは,すでに Hyper-V の機能は有効になっている.
2. Chocolatey のインストール(Windows 上)
-
管理者権限でコマンドプロンプトを起動する (手順:Windowsキーまたはスタートメニュー →
cmdと入力 → 右クリック → 「管理者として実行」)。 - 次のコマンドを実行する
次のコマンドは,Chocolatey パッケージマネージャーをインストールするものである.
winget install --scope machine Chocolatey.Chocolatey Chocolatey.ChocolateyGUI
3. Minikube のインストール
-
管理者権限でコマンドプロンプトを起動する (手順:Windowsキーまたはスタートメニュー →
cmdと入力 → 右クリック → 「管理者として実行」)。 - Minikube をインストール
実行のとき、エラーメッセージが出ないことを確認すること
choco install minikube
Chocolatey を使わない場合は,Windows パッケージマネージャー(winget)でもインストールできる.
winget install Kubernetes.minikube - インストール後は,コマンドプロンプトを開き直してから minikube を使う
minikube kubectl -- get pods).
4. コンテナイメージの作成
作成するイメージのレポジトリとタグ: hello-node:1.0
- ファイルの準備
同じディレクトリに,次の2つのファイルを作る.
- Dockerfile
node:24 は,Node.js の LTS 版(長期サポート版)の公式イメージである.
FROM node:24 EXPOSE 8080 COPY server.js . CMD node server.js - server.js
var http = require('http'); var handleRequest = function(request, response) { console.log('Received request for URL: ' + request.url); response.writeHead(200); response.end('Hello World!'); }; var www = http.createServer(handleRequest); www.listen(8080);
- Dockerfile
- 次のコマンドでイメージを作成する
末尾の「.」は,カレントディレクトリをビルドコンテキスト(Dockerfile と COPY するファイルの置き場)として使うという指定である.
docker build -t hello-node:1.0 . docker images - 作成したイメージを Minikube のクラスタから使えるようにする
手元で作ったイメージは,そのままでは Minikube のクラスタから参照できない.次のコマンドで読み込ませる.
minikube image load hello-node:1.0
5. Minikube を使ってみる
- Minikube の起動
minikube start
- クラスタの状態の確認
minikube status - ダッシュボードを開いてみる
minikube dashboard
ダッシュボードを閉じるときは,実行中のコマンドプロンプトで Ctrl+C を押す.
- Deployment の作成
Kubernetes 公式チュートリアルのテスト用イメージ(Web サーバを含む)を使う.
kubectl create deployment hello-node --image=registry.k8s.io/e2e-test-images/agnhost:2.53 -- /agnhost netexec --http-port=8080 - Deployment の確認
kubectl get deployments
- Pod の確認
kubectl get pods
- クラスタイベントの確認
kubectl get events
- 設定の確認
kubectl config view
6. Pod の公開
- 公開
テスト用イメージのアプリケーションは TCP の 8080 番ポートで待ち受ける.
kubectl expose deployment hello-node --type=LoadBalancer --port=8080
- Service の確認
kubectl get services
- Web ブラウザでアクセス
次のコマンドを実行すると,Web ブラウザが開き,アプリケーションの応答が表示される.
minikube service hello-node
7. クリーンアップ
クラスタに作成したリソースのクリーンアップ
kubectl delete service hello-node
kubectl delete deployment hello-node
Minikube のクラスタの停止
minikube stop
Minikube のクラスタの削除
minikube delete