Windows 10 (ver 1803) + vagrant + virtualboxのCentOS7.5VM上にシングルノード Kubernetes クラスタを建ててみる

posted in: Kubernetes, 仮想化 | 0

システム部第一課の小浜です。

今回はシングルノードのKubernetesクラスタをWindows上で作成しみてます。

KubernetesはDockerコンテナ実行環境のオーケストレーションツールです。
管弦楽団のオーケストラを想像してもらうとわかりやすいかもしれません。
Dockerコンテナが100個近く走行するようになると、人力では管理しきれなくなってきます。
そこで、コンテナの管理を手助けするツールがKubernetesです。

参考文献

前提とする構成

  • Windows 10 Pro version 1803 Hyper-Vは使用しません。
  • Vagrant 2.1.2
  • VirtualBox バージョン 5.2.18 r124319 (Qt5.6.2)
  • Windows機のメモリは6GB以上を想定しています。

作成する構成

  • Docker version 18.03.1-ce
  • Kubernetes version 1.10.6
  • VirtualBoxで作成する仮想マシンのうち、一つ目のネットワークアダプタは通常のNAT型とし、2つ目のネットワークアダプタをホストオンリー型に設定して、ホストPCからIPアドレス192.168.33.10を宛先とすると仮想マシンに通信可能なように構成します。(NATのみだと、仮想マシン内部に建てたサービスにアクセスするためにポートフォワード設定が必要になるため)

セットアップ準備

Windowsにvagrantをインストールするため、chocolateyを使用します。

Chocolatey – The package manager for Windows
https://chocolatey.org/

chocolateyはWindows向けのパッケージマネージャーです。
Mac OS Xで言うところのHomebrewのようなもので、Microsoft公式提供ではありませんが、色々なソフトウェアをコマンドラインからインストールすることができます。

chocolateyのインストールを行います。管理者権限で起動したWindows PowerShellから以下を入力します。

次に、VirtualBoxをインストールします。
VirtualBoxはOracle提供のOS仮想化アプリケーションです。
WindowsのHyper-Vはハイパーバイザー型でホストOSのWindowsも内部的には仮想化されますが、VirtualBoxは仮想化アプリケーションなのでホストOS上で動作します。

vagrantもインストールします。
vagrantはコマンドラインからVirtualBoxなどの仮想化アプリケーションを操作するラッパーコマンドです。
最新版の2.1.5は動作がおかしいようなので、ここではバージョン2.1.2を指定してインストールします。

管理者権限で起動したWindows PowerShellから以下を入力します。

ここで、管理者権限で起動したWindows PowerShellを終了します。

ここで、新しくWindows PowerShellを起動します。

vagrantを使用して、CentOS7イメージを取得します。

参考: Documentation – Vagrant by HashiCorp
https://www.vagrantup.com/docs/index.html

vagrant + virtualbox を使う場合は、ユーザー権限で起動したPowerShellから操作を行います。

初期作成されたVagrantファイルを以下のように作成します。

sakuraエディタ等を用いて、改行コードはCRLFのファイルとして保存してください。

setupscripts.shファイルを以下のように新規作成します。

sakuraエディタ等を用いて、改行コードはLFのみ、文字コードはUTF-8(BOMなし)のファイルとして作成してください。

PROXY環境下で実行する場合は、setupscripts.shファイルのPROXY_SERV_PORTにプロキシの「サーバ名:ポート番号」を記入してください。

認証付きのPROXY環境下で実行する場合は、setupscripts.shファイルのPROXY_USER、PROXY_PASSにPROXYのユーザー名とパスワードを記入してください。

ダウンロード: setupscripts.sh

セットアップ実行

以下のコマンドでvagrantを起動します。セットアップスクリプトが自動実行されます。
大量にダウンロードするので、しばらく待ちます…。

以下のような表示になれば、セットアップは完了です。

それではちょっと使ってみましょう。

一般ユーザー権限のPowerShellから操作します。

vagrantマシンにsshで入ります。

vagrantの場合、最初はvagrantというユーザー名でログインすることになります。

kubernetesやdockerは、rootになって操作します。

以下のコマンドを入力し、kubernetesのシステムが動作しているか確認します。

表示結果は以下のようになります。

以上です。

LINEで送る
Pocket