Kubernetesのローカル開発環境をMinikubeで構築する

自分のMacをリフレッシュする機会があったので、ローカルのDocker環境をKubernetesベースに変えてしまおうと思い、Minikubeを使って環境を構築しました。

Minikube環境の構築

Minikubeに必要なもの

VirtualBoxのインストール

開発者のmacOSであれば既に入っていると思いますが、もし入っていなければ、Download VirtualBoxからmacOS用のバイナリをダウンロードすれば良いと思います。

kubectlのインストール

Minikubeも一般的なKubernetes同様にkubectlで操作するので先にインストールしておきます。公式DocsのInstall and Set Up kubectlでも紹介されているように、Homebrewからのインストールも可能です。

Homebrewから取得できるkubectlのバージョンを確認

$ brew info kubectl

古くなければ、Homebrewからkubectlをインストールします。

$ brew install kubectl

Minikubeのインストール

Minikubeのインストール手順は、リリースノートに記載されている方法でも良いですが、Homebrew-Caskでも最新版がインストールできたので、その方法を紹介しておきます。

Homebrew-CaskからインストールできるMinikubeのバージョンを確認

$ brew cask info minikube

古くなければ、Homebrew-CaskからMinikubeをインストール

$ brew cask install minikube

Minikubeの実行

以下のコマンドでMinikubeのクラスタがVirtualbox上で起動します。初回はイメージを取得してからの起動になるので少し時間がかかります。

$ minikube start

Virtualbox上でMinikubeのVMが起動していることがわかります。

Virtualbox

次にkubectlコマンドがMinikubeに接続するようにに設定します。

$ kubectl config use-context minikube

ダッシュボードにアクセスするには以下を実行すると、デフォルトブラウザでお馴染みのk8sダッシュボードが表示されます。

$ minikube dashboard

Dashboad

Minikubeクラスタを停止させる場合は以下コマンドを実行します。

$ minikube stop

stopではクラスタの状態とデータは保持されます。完全に削除したい場合はminikube deleteを実行します。

これでローカルにKubernetesの環境ができたので、あとはkubectlやダッシュボードで好きなようにk8sを送れるようになるはずです。