Vagrant使ってdocker+minikubeの環境作ろう


はじめに

今回は15Stepで習得 Dockerから入るKubernetes コンテナ開発からK8s本番運用まで
参考にWindows10の環境下にVirtualBox+Vagrantを構築して、さらにその上にUbuntsを起動させ、
そのUbuntsの上にdocker+Kubernetes(正確にはminikube)の実行環境を構築。

なんでこんなに複雑かっていうと、書籍によると
・windowsでもMacでも動作するVagrantとVirtualBoxの仮想マシン上でLinuxサーバを動作させ
 そこの上でdockerとminikubeを動かすので環境がキチンと揃う
・仮想マシン上のメモリ使用が少なく、安定する
・各種ソフトウェアをWindows上、Mac上にインストールしないため、PCのソフトウェア環境をクリーンに保てる
…だそうだ。なるほど、これはナイスですね。

確かに、、、この環境だと、windows上でdocker+minikubeしたいなら

ソフトウェア 概要
Docker Toolbox Dockerの実行環境
VirtualBox Dockerを実行させるために必要
Vagrant VirtualBoxのフロントエンドとして使用
chocolatey win版のパッケージマネージャー。curlとkubectlをインストールするときに使用
kubectl コントローラ
Minikube minikubeの実行環境

が、

ソフトウェア 概要
VirtualBox Dockerを実行させるために必要
Vagrant VirtualBoxのフロントエンドとして使用
git Docker+Minikubeを構築するためのVagrantファイルを入手するために使用

で済むのでPC環境をクリーンに保てるという理屈はよくわかる。

動作環境

・Windows10 Home(64bit)

手順(概要)

  1. VirtualBoxのインストール
  2. Vagrantのインストール
  3. Git for Windowsのインストール
  4. Vagrantファイル(docker+minikube)の入手&実行
  5. 動作確認

手順(詳細)

1. VirtualBoxのインストール

実際は前の記事でDockerToolBoxインストール時についでインストールされたのですが
VirtualBoxのバージョンアップしたときにインストールしなおした感じに名たのでその様子をUPします。

バージョンアップの案内に記載されているURLをクリック

リンク先では自動的にダウンロードが始まる。ダウンロードが完了したらexeファイルを起動

インストール開始。[Next]クリック

[Next]クリック

[Next]クリック

[Install]クリック

[インストール]クリック

[Finish]クリック

2. Vagrantインストール

ダウンロードサイト(https://www.vagrantup.com/downloads.html)へ
アクセスして、win10(64bit)のインストーラ入手

ダウンロードしたインストーラを起動

ここで突然windows Defenderが反応するが、落ち着いて[実行]

[Next]クリック

チェックして、[Next]クリック

[Next]クリック

[Install]クリック

…で、インストール完了

3.Git for Windowsのインストール

ダウンロードサイト(https://git-scm.com/download/win)へアクセスしてダウンロード。

インストーラを起動

[Next]クリック

[Next]クリック

[Next]クリック

checkout as-is, commit as-is を選択して、[Next]クリック

[Install]クリック

…で、インストール完了

4. Vagrantファイル(docker+minikube)の実行

windows検索窓から"git"入力して、"git for windows"起動

githubからdocker+minikubeのvagrantファイルを入手
※このURLは書籍購入した人に公開している感じなのでさすがに隠した。。。

Vagrantファイルの実行。docker&minikubeのインストールはこれだけ。さすがvagrant。

$ vagrant up

プロンプトが戻ってきたら、実行環境(=docker+minikubeのインストールされたUbunts)へログイン

$ vagrant ssh

5.動作確認

Dockerのバージョンを確認してみる

$ docker version

minikubeを起動する。

sudo minikube start

minikube上のノードの状態とpodの様子を確認。
minikubeという名前のノードが稼働しており、
minikubeにまつわる様々なpodが動作していることが確認できる。

$ kubectl get node ←ノードの状態確認
$ kubectl get pod --all-namespeces ←ポッドの状態確認

ここまでで、minikubeが動くことが確認できたので、ここからじっくりと
dockerのminikubeの動作がどんなもんか本を読みながら試していこうと思う。