LoginSignup
17
13

More than 5 years have passed since last update.

vagrantで気軽にKubernetes The Hard Way

Last updated at Posted at 2018-06-21

概要

Kubernetes The Hard Wayというのは、Kubernetesクラスタ作成チュートリアルで、他の構築手段と比べてThe Hard Way(難易度の高いやり方)という特徴があります。
kubeadmやminikubeを使ったワンコマンドの構築ではなく、より原始的に、1ステップずつコマンドを実行し、丁寧に(?)クラスタを作成する手法です。

これを体験することで、普段は便利コマンドに隠されてしまっているKubernetesの構築手順をを理解することができ、実際のクラスタ運用でも役に立つ知識を身につけることができます。

ということで早速試してみたいのですが、オリジナルのKubernetes The Hard WayはGCP(Google Cloud Platform)上での手順となっており、課金が発生しますし、また本来のKubernetes構築とは関係ないGCPのファイアーウォールの設定なども実施する必要があります。もっと気軽にThe Hard Wayしたい!!と思って調べていると、素晴らしいものがありました。

これはvagrant(とvirtualbox)を使ってローカル環境でKubernetes The Hard Wayができるというものです。

Kubernetes the hard way with vagrant

オリジナルは https://github.com/kinvolk/kubernetes-the-hard-way-vagrant のようですが、https://github.com/kenfdev/kubernetes-the-hard-way-vagrant の方がオススメです。

kenfdev版の特徴

  • オリジナルと同じcontainerdを使っている (kinvolkはcri-oを使っている)
  • オリジナルで最近追加されたgVisorを使っている
  • オリジナルと同じpod-cidr(kinvolkはオリジナルとは違うcidr)
  • オリジナルのドキュメントと紐づいた簡単に実行できるスクリプト群

特に最後の点が非常に便利で、kenfdev版のscripts/k8s-the-hard-way以下にあるスクリプトがオリジナルのドキュメントと対応したファイル名となっており、オリジナルのドキュメントをみつつ、コマンドだけはvagrant版を使うという使い方ができます。

vagrant版のクラスタ構成

全部で7台のVMが構築されます。実行するマシンにはそれなりのスペックが要求されます。

  • LB
    • kube-apiserverを束ねるロードバランサ役のVMです。
  • controller*3
    • kubernetesのmasterのVMです。etcdもここで動きます
  • worker*3
    • kubernetesのworkerのVMです。

進め方

基本的にオリジナルのドキュメントをみつつ、コマンドはkenfdev版を使う、というやり方で進めました。gcloudコマンドは全て実行せずに飛ばしました。
ルーティングの設定などはvagrantであらかじめ実行する方式となっており https://github.com/kenfdev/kubernetes-the-hard-way-vagrant/tree/master/scripts/bootstrap ここからその内容を確認できます。

はまったところ

ほとんどそのまま実行するだけなのでハマるところはないのですが

vagrant-scpを連続すると何かおかしい

Received disconnect from 127.0.0.1 port 2202:2: Too many authentication failures

こんなエラーが出ました。IdentitiesOnly=yes by jonasfj · Pull Request #21 · invernizzi/vagrant-scp · GitHubが似たような問題だったので参考にしつつ

~/.ssh/config
Host *
  IdentitiesOnly=yes

とすれば出なくなりました。

感想

腰が重かったKubernetes The Hard Wayでしたが、vagrant版を使うことで、気軽に試すことができました。

17
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
13