やっつけ不定記

好きなときに好きなことをちゃっちゃと書いてます

k3sをRaspberry Piで起動させてみた

Minikubeが古マシンに優しくないので、何とかならんかなと思っていたところ、
2月26日に公開された軽量版Kubernetes(k3s)。

Raspberry Piでも動かすことができるということで、
手元のラズパイで起動できるか試してみました。
基本的に公式ドキュメントをなぞっているだけですが、
少し引っ掛かったところがあったのでメモしてみます。


[環境]
・端末:Raspberry Pi 3(無印)
・OS:Raspbian Stretch Lite(2018-11-13版)
$ uname -a
Linux raspberrypi 4.14.79-v7+ #1159 SMP Sun Nov 4 17:50:20 GMT 2018 armv7l GNU/Linux

 

[やったこと]
(1)モジュール入手
https://github.com/rancher/k3s/releases/latest
から k3s-armhf を取ってきて /home/pi に保存する。
取得するファイルは、利用している端末とOSに合わせること。

(2)起動準備
公式ドキュメントに合わせてファイル名を変更した後、実行権限を与える。
$ cp k3s-armhf k3s
$ chmod +x k3s

(3)起動してみる…失敗
$ sudo ./k3s server
INFO[0000] Preparing data dir /var/lib/rancher/k3s/data/・・・
INFO[2019-03-03T09:41:50.931923508Z] Starting k3s v0.1.0 (91251aa)
・・・
INFO[2019-03-03T09:43:16.923040127Z] Run: k3s kubectl
INFO[2019-03-03T09:43:16.923079346Z] k3s is up and running
ERRO[2019-03-03T09:43:16.923357209Z] Failed to find memory cgroup, you may need to add "cgroup_memory=1 cgroup_enable=memory" to your linux cmdline (/boot/cmdline.txt on a Raspberry Pi)
FATA[2019-03-03T09:43:16.923418615Z] failed to find memory cgroup, you may need to add "cgroup_memory=1 cgroup_enable=memory" to your linux cmdline (/boot/cmdline.txt on a Raspberry Pi)
→cmdline.txtに何かしら記述がいる模様。

(4)cmdline.txtを修正してみる
$ sudo vi /boot/cmdline.txt
書式に従って、末尾に
cgroup_memory=1 cgroup_enable=memory
を追記する。編集したら再起動する。
$ sudo reboot

(5)起動してみる…たぶん行けてそう
$ sudo ./k3s server
INFO[2019-03-03T09:51:53.768013726Z] Starting k3s v0.1.0 (91251aa)
・・・
INFO[2019-03-03T09:52:43.480896021Z] waiting for node raspberrypi: nodes "raspberrypi" not found
INFO[2019-03-03T09:52:45.485307829Z] waiting for node raspberrypi: nodes "raspberrypi" not found
時間切れなので、今回はここまで。
やめるときは Ctrl + c した後、k3s系プロセスをkillする
(たぶん、もっといいやり方あるはず)。
実際にコンテナを操れるかとかは、Kubernetesをちゃんと理解してから改めて。


<戦利品>
ふつうの恋子ちゃん(11)
魔法少女リリカルなのはReflection THE COMICS(2)
本好きの下剋上 司書になるためには手段を選んでいられません 第三部 領地に本を広げよう!(1)
3×3EYES 鬼籍の闇の契約者(4)
聖樹のパン(7)