takaya030の備忘録

PHP、Laravel、Docker などの話がメインです

minikube で Windows 上に Kubernetes 環境を構築する

minikube で Windows + VirtualBox に Kubernetes 環境をセットアップしたときの手順メモ

検証環境

Windows10 Home Edition
VirtualBox 5.1.20

minikube のダウンロード

下記のリンクから最新の Windows 用の exe (minikube-windows-amd64.exe) をダウンロードします。(2017年4月30日現在の最新バージョンは v0.18.0 です)

minikube のインストール

ダウンロードしたファイルは minikube.exe とリネームしてパスの通ったフォルダにコピーします。

minikube の config 設定

デフォルトの vm driver を VirtualBox にするため、コマンドプロンプトで以下のコマンドを入力

C:\> minikube config set vm-driver virtualbox

kubectl の インストール

kubectl がインストールされていない場合、以下のメッセージが表示されます
メッセージに表示された URL から kubectl.exe をダウンロードしてパスの通ったフォルダに配置します

C:\> minikube config set vm-driver virtualbox
========================================
kubectl could not be found on your path.  kubectl is a requirement for using minikube
To install kubectl, please do the following:

download kubectl from:
https://storage.googleapis.com/kubernetes-release/release/v1.6.0/bin/windows/amd64/kubectl.exe
Add kubectl to your system PATH

To disable this message, run the following:

minikube config set WantKubectlDownloadMsg false
========================================
These changes will take effect upon a minikube delete and then a minikube start

kubectl.exe が使用可能なときは以下のように警告メッセージが表示されません

C:\>minikube config set vm-driver virtualbox
These changes will take effect upon a minikube delete and then a minikube start

Kubernates クラスタの作成

"minikube start" で Kubernetes クラスタを作成します。このコマンドは %USERPROFILE% と異なるドライブで実行した場合エラーになることがあります。

C:\>minikube start
Starting local Kubernetes cluster...
Starting VM...
Downloading Minikube ISO
 89.51 MB / 89.51 MB [=============================================] 100.00% 0s
SSH-ing files into VM...
Setting up certs...
Starting cluster components...
Connecting to cluster...
Setting up kubeconfig...
Kubectl is now configured to use the cluster.

"kubectl version" で以下のようにサーバーバージョンが取得できた場合、Kubernetes クラスタが正常に作成されています

C:\>kubectl version
Client Version: version.Info{Major:"1", takaya030:"6", GitVersion:"v1.6.0", GitCommit:"fff5156092b56e6bd60fff75aad4dc9de6b6ef37", GitTreeState:"clean", BuildDate:"2017-03-28T16:36:33Z", GoVersion:"go1.7.5", Compiler:"gc", Platform:"windows/amd64"}
Server Version: version.Info{Major:"1", takaya030:"6", GitVersion:"v1.6.0", GitCommit:"fff5156092b56e6bd60fff75aad4dc9de6b6ef37", GitTreeState:"dirty", BuildDate:"2017-04-07T20:46:46Z", GoVersion:"go1.7.3", Compiler:"gc", Platform:"linux/amd64"}

Kubernetes クラスタの停止

"minikube stop" で停止します

C:\>minikube stop
Stopping local Kubernetes cluster...
Machine stopped.