MinikubeでKubernetesクラスタが動く環境を作る

Minikubeではローカル環境にKubernetesクラスタを作成することができます。
GKE等のサービスと変わらない感覚でkubectlコマンドを叩けるので結構便利でした。
マルチノードに対応しているわけではないので、それなりに本番環境とはマニフェストの差異が出るとは思いますが、とりあえず動かしてみる目的であればローカルで動くというのは大きなメリットだと思います。

準備

  • VirtualBoxのインストール
    ここからインストールできる。
    6.0.4である程度の動作は確認済み。
  • minikubeのインストール
    Macなら以下で入る。その他はこちら
$ brew cask install minikube

minikubeの起動

$ minikube --vm-driver virtualbox start

vm-driverの指定が必須。面倒なのでaliasを指定してある。

alias 'minikube start'='minikube --vm-driver virtualbox start'

この時点ではリモートのDockerイメージを利用する設定になっているので、以下のコマンドを叩いておきます。

$ eval $(minikube docker-env)

これを行うことによって、ホストマシンの docker コマンドでminikube VM内のDockerデーモンと通信できるようになり、ローカルでビルドしたイメージがそのまま使えるようになります。

以下のコマンドで戻せます。

$ eval $(minikube docker-env -u)

停止

$ minikube stop

kubernetes contextの切り替え

# 一覧
$ kubectl config view
# minikubeに切り替え
$ kubectl config use-context minikube

参考

kubernetes/minikube