しばらく(NixOS 上で)k3s を運用していると /var/lib/rancher/k3s/data ディレクトリが肥大化しているのに気づきました。中身を見てみると英数字のディレクトリが大量に並んでいます:
$ sudo du -hs /var/lib/rancher/k3s/*
952M /var/lib/rancher/k3s/agent
10G /var/lib/rancher/k3s/data
69M /var/lib/rancher/k3s/server
$ sudo du -hs /var/lib/rancher/k3s/data/*
284M /var/lib/rancher/k3s/data/006f5b029dd7c39880486117be78d23d45a41e4d532626bfba645a53ff43b16e
284M /var/lib/rancher/k3s/data/01c89f9613e334238e1284798c733928963d16c1341f4d58fd827a2b053a7156
272M /var/lib/rancher/k3s/data/02029c983afacae4cbc98627505ac225c64d611e22904c5233250788d4e3415b
272M /var/lib/rancher/k3s/data/07ed6800933c4cc4edd3ccb39d4a085748e4800dc3889a48cce6191a3621d681
284M /var/lib/rancher/k3s/data/099120f5d3d3c3552cbeebc6700a121802fcf1dc54ce1eaf467d81370e687b00
284M /var/lib/rancher/k3s/data/0eb984fc253cda6bc9356f88ad93c4fd4f07b9e746e8210989030db2bead9830
262M /var/lib/rancher/k3s/data/12bf548e6447b9a818978533742bfd256d2e7ea25546fc8f6e1d34199affae9d
283M /var/lib/rancher/k3s/data/12e143be08d786e9d1279962ebf75084c66a73dedadb0fc2c98e9e1d028ef773
260M /var/lib/rancher/k3s/data/134aac23e9763456cdf09d1e38d069efa520d25eb52fda484725ae7f913a6484
272M /var/lib/rancher/k3s/data/18e050f0baa28afec734e2cf813ff71fc14e9a05b6fa76f0567f65c30e44f04e
284M /var/lib/rancher/k3s/data/1d05246645cc6f03cc0607cd48e8fe66e4d84356770476ef3a5b1c1876cbaa86
261M /var/lib/rancher/k3s/data/27792dbfd9725d3859a297973be68717dae399860ff4452a7688d5dcf5f64011
284M /var/lib/rancher/k3s/data/2b6e467b1491f162bc24ac2ef1fc1736f148870cf9d0404e6da55f28d5f5d0ce
272M /var/lib/rancher/k3s/data/476d59967d4317eef6267f49cd3b9930606a6da890b851a67c522f539e9576fd
279M /var/lib/rancher/k3s/data/497ca8448ca740c7a8a333a3d3390fb245fe8c7873ca9fb21c469a10588f1091
284M /var/lib/rancher/k3s/data/5ccae59057271f34da716cb08351cc0129b61dee941b535797b28dcce1313b2e
260M /var/lib/rancher/k3s/data/5eaa350483feed861cf9edb6bb76cac559c217b0b02cf48f7e6b32d014d148fd
267M /var/lib/rancher/k3s/data/6fa1f4cfa87a64e6d86e8db744f293a921040f20939d06363c278eab0f09de10
283M /var/lib/rancher/k3s/data/71c04a03c1a4c773232e21bcab67ae1fbd1398ec127ee285a0bf7ad46c21f3ae
260M /var/lib/rancher/k3s/data/79d36dc2b63b6e3a1400531d3a69ed55487c389c1162cdf97c3a3c620a425009
260M /var/lib/rancher/k3s/data/8902a28efc3a7e233426a5f63bf776d0da4df13951897ec710ac07ea8541926c
284M /var/lib/rancher/k3s/data/9d61082b12cd63cce03976b21799339108dcf26bf0edc5d66db3df5b7c7abc40
282M /var/lib/rancher/k3s/data/a036111629df66d586d8674560f92205c9d5cd94269479b8c269df5f70d872ef
294M /var/lib/rancher/k3s/data/ac069976cdfaad2903be06a51c364912389072d2be119c25d9dfbe7741362096
294M /var/lib/rancher/k3s/data/be475065661e1ea3f4a76f045ab847281f43456edb6f89898208fc8e6b73f432
272M /var/lib/rancher/k3s/data/c1487141a62843474b157059bf6fd7fb69c15ab1863215fdeefa417db9718218
284M /var/lib/rancher/k3s/data/c26aa5e47177bd8133007a8c2a36b8ad5f0368d1a7479a9c9894d748362ded5d
283M /var/lib/rancher/k3s/data/c51d18e965b6158b80116012ecfd5b59555e736954ad2538cc86117f3637a15d
272M /var/lib/rancher/k3s/data/cb130e55093f70e3115d73bb11c59e7be36489eccdd9f60ef69674c9bde9a7a2
283M /var/lib/rancher/k3s/data/cce6c05532e25b5b7fc38427c4f0f35edf7b00931ebddf6012d5b61795bd967d
36K /var/lib/rancher/k3s/data/cni
4.0K /var/lib/rancher/k3s/data/current
284M /var/lib/rancher/k3s/data/d4f2782bfa570640b4283f5fac5ee7f6c9f5424212cc06b765cc12e5508f6ab2
273M /var/lib/rancher/k3s/data/e327c72601c6c0d83fcf76fb825595546e511445394706a482ab93eaf9a3f2f4
283M /var/lib/rancher/k3s/data/e35e94d14ed96bfb27c59a34a7b9608d24b057d9325f5bd7c5df07bd4c4d1ffd
272M /var/lib/rancher/k3s/data/f66242996cd2c16bf24a53959757d25101336db7bad949a6c039ee46d7f72243
284M /var/lib/rancher/k3s/data/f8fd7175882d801457ac8743d4eb576ca23b9230c38a8c29f6442e449319caf5
272M /var/lib/rancher/k3s/data/f9008d435a9456b48fce432b02f8c2edf149e4f9e5668286db5ffb420e8f32e5
260M /var/lib/rancher/k3s/data/fcdd2a4b085998f2c8527dc04bba8022b9de78c9e02b415a4cd5ee23dd80a1e1
4.0K /var/lib/rancher/k3s/data/previous
各ディレクトリにはダウンロードしてきた各バージョンの k3s の実行バイナリが入っています。また current と previous はシンボリックリンクになっていて、それぞれ現在使われているバージョンのディレクトリと、直前に使われていたバージョンのディレクトリを指しています。
現在使われているバージョンのディレクトリはともかくとして他のディレクトリは消しても困らないように見えます。また古いディレクトリをいくつか見てみたのですが、シンボリックリンクが切れたりもしていて[1]いかにも不要そうです。
ただ k3s のドキュメントや issue・discussion にはこのことについて言及を見つけられず、本当に消してよいのかはよく分かりませんでした。上流で聞いてみても良かったのですが、まぁ大丈夫やろ[2]ということで以下のコマンドで消しました。k3s を止めてから消しているのはエーアイにおすすめされたからで、特に理由はありません。
cd /var/lib/rancher/k3s/data
sudo systemctl stop k3s
for NAME in $(ls | grep -vE "^$(basename $(readlink current))$|^$(basename $(readlink previous))$|^cni$|^current$|^previous$"); do
echo $NAME
sudo rm -rf $NAME
done
sudo systemctl start k3s
この作業をしてから数日経っていますが、今のところ正常に動いています。