「Software Design 2018年3月号」をみてkubesprayをインストールしてみた

はじめに

 「Software Design 2018年3月号」が出版されて随分たちました。今更kubesprayのインストールを試してみたら、気になった点・気づいた点がありましたので、メモ。

環境

  • Lununtu 16.04 (VMWare Player 14.1.2上で起動)
  • VirtualBox 5.2.14
  • Vagrant 2.1.2
  • Ansible 2.4.2.0
  • Jinja2 2.10
  • netaddr 0.7.19
  • kubespray commit hash:f1e348ab9592e8bc87e5ce70492a78f73666aa44

気になった点・気づいた点

記事で扱っているkubesprayのバージョンの記載

 「Software Design 2018年3月号」のP82に、kubesprayのcommit hashが記載されています。「なぜtagの名前を記載しないんだろう?」と疑問に思いました。

 kubesprayのリポジトリをみてみたところ、tagを打つ間隔がわりとまちまちですので新しい情報を記事に取り入れようとして、tagからソースを取得しなかったのではないかと思われます。

 比較的最近のtagについて、対象となったコミットの日付を調べてみましたところ、以下のようになっていました。

  • v2.5.0…2018/4/16
  • v2.4.0…2018/2/1
  • v2.3.0…2017/10/27
  • v2.2.1…2017/9/27

P82のinventory/group_vars/k8s-cluster.ymlの所在

 inventoryの直下には、group_varsは存在しません。
 代わり(?)に、local/group_varsとsample/group_varsが存在します。
 「これはどっちを使えばいいのだろう?」と疑問に思いました。

 sampleの方を使うのだと私は判断しました。
 判断理由は、GitHub - kubernetes-incubator/kubespray: Setup a kubernetes clusterの説明で、sampleをコピーして設定変更しているためです。

使用するVagrantVirtualBoxのバージョン

 記事に記載されているバージョンのVagrantVirtualBoxを使用したところ、何度もタイムアウトしました。
 これは私の環境が貧弱なためと思われます。
 検証時点で最新のバージョンを使用したところ改善されましたので、タイムアウトで苦しむ場合は、バージョンを変えてみるとよいかもしれません。

P83の「kubectl_localhost: true」を有効にした場合のkubectlの配置場所

 inventory/inventory名/artifactsに配置されます。
 私の場合inventory/sample/artifactsですね。

VMWare Player 上のLununtuという環境について

 私は普段Windowsを使用しているので、VMWare Player 上のLununtuに環境を作ったのですが…。
 これはあまりお勧めしません。環境構築中、何度もタイムアウトに悩まされました。
  私がi5-3320Mという2012年頃発売のCPUを使っているのも原因の一つかと思います。

デフォルトで作成される仮想マシンについて

以下のスペックの仮想マシンが3台作成されました。

項目
プロセッサー 1
メモリ 2048MB
ストレージ 60GB(作成直後の割り当ては、4G程度)

さいごに

 久しぶりにi5-3320Mの限界を強く感じました。