The dawn of modern programmers

現代プログラマーの朝焼け

How to run Kubernetes on local machine (Docker for Windows)

Summary

現在、多くのクラウドプラットフォーム で Kubernetes をベースとした Container Service が提供されいています。

しかし、検証や Pods の構成を試すために Container Service をセットアップし、接続するのはとても大変ですしコストもかかります。 (結構めんどくさい。。。)

ここではローカルマシンで Kubernetes を実行可能な minikube のインストールと実行方法について説明します。

Download and install “minikube”

Download minikube

まずは Kubernetes を実行するための minikube の新ストールを行います。

最新のリリースバージョンのバイナリファイルを GitHub からダウンロードします。

https://github.com/kubernetes/minikube/releases/

ここでは Windows/amd64 を選択します。

Install minikube

ダウンロードされたバイナリを “minikube.exe” に re-name します。 minikube.exe ファイルを任意のフォルダに移動します。

e.g.

%USERPRFILE%\Apps\kubernetes

環境変数に KUBE_HOME を追加します。

環境変数 PATH に %KUBE_HOME% を追加します。

Download and install “kubectl”

Kubernetes に接続し、操作を行うための “kubectl” コマンドをインストールします。

安定バージョンの確認

CURL コマンドで安定バージョンを確認します。

curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt

最新の安定バージョンをダウンロードします。

curl -LO https://storage.googleapis.com/kubernetes-release/release/<LATEST_VERSION>/bin/windows/amd64/kubectl.exe

ダウンロードしたファイルを %KUBE_HOME% に移動します。

Setup your Hyper-V Virtual Network.

minikube は内部でインターネット経由でのイメージのダウンロードを行っているため、実行にはインターネット接続を行える必要があります。 また kubectl コマンドから接続を行うためには Hyper-V の仮想スイッチの設定が “外部ネットワーク” に設定されている必要があります。

Docker for Windows のインストール時に “Docker NAT” の名称で仮想スイッチが作成されていますので、このスイッチの設定を変更しておきます。

Run Kubernetes

実行コマンドはたった一つ。So easy! (必ず管理者権限で実行してください!)

# minikube start --vm-driver=hyperv

Connect by kubectl

kubectl コマンドを使って minikube を操作します。 まずは context を minikube に切り替えて、minikube に hello を配置してみます。

kubectl config use-context minikube
kubectl run hello-minikube --image=gcr.io/google_containers/echoserver:1.4 --port=8080
kubectl expose deployment hello-minikube --type=NodePort