How to run Kubernetes on local machine (Docker for Windows)
Summary
現在、多くのクラウドプラットフォーム で Kubernetes をベースとした Container Service が提供されいています。
- Amazon EC2 Container Service
- Google Cloud Platform Container Engine
- Microsoft Azure Azure Container Service
しかし、検証や Pods の構成を試すために Container Service をセットアップし、接続するのはとても大変ですしコストもかかります。 (結構めんどくさい。。。)
ここではローカルマシンで Kubernetes を実行可能な minikube のインストールと実行方法について説明します。
Download and install “minikube”
Download minikube
まずは Kubernetes を実行するための minikube の新ストールを行います。
最新のリリースバージョンのバイナリファイルを GitHub からダウンロードします。
https://github.com/kubernetes/minikube/releases/
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