涅槃を目指す in はてな

人生に迷う様を書きます

Rancher の Vagrant Quick Start を試す

Rancher Vagrant Quick Start とは

Rancher Server 用のVM1台と、kubernetes node用のVM数台をサクッと構築できるツールです。

こちらがその記事です。

rancher.com

gitのリポジトリはここですね。

github.com

動かしてみる

必須なのは

まずはVagrantからVirtualboxを動かすPluginを入れます。

$ vagrant plugin install vagrant-vboxmanage
$ vagrant plugin install vagrant-vbguest

gitから適当なディレクトリにcloneします。

$ git clone https://github.com/rancher/quickstart
Cloning into 'quickstart'...
remote: Enumerating objects: 81, done.
remote: Counting objects: 100% (81/81), done.
remote: Compressing objects: 100% (57/57), done.
remote: Total 747 (delta 51), reused 41 (delta 24), pack-reused 666
Receiving objects: 100% (747/747), 317.15 KiB | 648.00 KiB/s, done.
Resolving deltas: 100% (432/432), done.

quickstart ていうディレクトリができます。第1階層はこんな感じで、Vagrant以外にもAzure、AWSGCPにも対応してそうです。

$ tree -L 1 quickstart/
quickstart/
├── Makefile
├── README.md
├── aws
├── azure
├── azure-windows
├── cloud-common
├── do
├── gcp
├── rancher-common
├── test
└── vagrant

今回はVagrantでやりたいので、vagrant ディレクトリの中を見てみましょう。

$ tree  quickstart/vagrant/
quickstart/vagrant/
├── README.md
├── Vagrantfile
├── config.yaml
├── scripts
│   ├── configure_rancher_node.sh
│   └── configure_rancher_server.sh
├── vagrant-provision-reboot-plugin.rb
└── vagrant_rancheros_guest_plugin.rb

非常にシンプル。設定は config.yaml にするみたいなので見てみましょう。

admin_password: admin
version: latest
ROS_version: 1.5.1
# Empty defaults to latest non-experimental available
k8s_version: ""
server:
  cpus: 1
  memory: 1500
node:
  count: 1
  cpus: 1
  memory: 1500
ip:
  master: 172.22.101.100
  server: 172.22.101.101
  node:   172.22.101.111
linked_clones: true
net:
  private_nic_type: 82545EM
  network_type: private_network

とりあえずこのままの状態で作成してみましょう

$ vagrant up

数分待ちます。

無事終了したので、statusを見てみましょう。

$ vagrant status
Config: {"admin_password"=>"admin", "version"=>"latest", "ROS_version"=>"1.5.1", "k8s_version"=>"", "server"=>{"cpus"=>1, "memory"=>1500}, "node"=>{"count"=>1, "cpus"=>1, "memory"=>1500}, "ip"=>{"master"=>"172.22.101.100", "server"=>"172.22.101.101", "node"=>"172.22.101.111"}, "linked_clones"=>true, "net"=>{"private_nic_type"=>"82545EM", "network_type"=>"private_network"}}

Current machine states:

server-01                 running (virtualbox)
node-01                   running (virtualbox)

This environment represents multiple VMs. The VMs are all listed
above with their current state. For more information about a specific
VM, run `vagrant status NAME`.

kubernetesを管理するRancherが入っているであろう server-01 と、 多分マスタ兼ワーカな node-01 ができたようです。

https://172.22.101.101 にブラウザでアクセスしてみましょう。

f:id:ryo-plavi:20200913151131p:plain

おお!Rancherですよ奥さん!

Vagrantあげたら3分でRancher!

ログインしてみると、 quickstart というクラスタができてます。

f:id:ryo-plavi:20200913151353p:plain

node-01 やはりマスタ兼ワーカみたいですね。RancherOS v1.5.1 というOSなのも確認できました。

f:id:ryo-plavi:20200913151619p:plain

まとめ

拍子抜けするくらい簡単にkubernetes+Rancher環境ができました。

ちなみにnodeの数を増やしたい場合は、config.yamlcount の値を変えて vagrant up すれば勝手に増えて既存のクラスタに追加されます。

開発とか勉強ならminikubeとかkindでも全然いいと思うんですけど、どうしてもVM作成からやってみたいとか、 ローカルマシンを汚したくないみたいな人にはうってつけなのではと思います。