Raspbianのiptables問題を解消する

概要 ラズパイでk3sクラスタを構築しそこでシステムを稼働させているのですが、ある日内部の処理がかなり低下していることに気づきました。raspbianに最初から入っているiptablesに無駄なエントリが徐々に増えていくバグがあり、iptablesをアンインストールすることで解消しました。 環境 raspberry pi3 b+ と pi4が混在したクラスタを構成しています。 $ cat /etc/os-release PRETTY_NAME="Raspbian GNU/Linux 10 (buster)" NAME="Raspbian GNU/Linux" VERSION_ID="10" VERSION="10 (buster)" VERSION_CODENAME=buster ID=raspbian ID_LIKE=debian HOME_URL="http://www.raspbian.org/" SUPPORT_URL="http://www.raspbian.org/RaspbianForums" BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs" 詳細 kubernetesで稼働しているプロセス溜まっており、詳しく見てみると通常数百ms程度で動作していた処理が数秒かかっているようでした。 不要なログは伏せています 遅い処理時間 単純なAPIリクエストからレスポンスまでの時間を測っているだけですので数秒かかるのは遅すぎます。 Nodeの負荷もかなり高かったためプロセスを確認すると以下のとおりksoftirqdとiptablesが怪しそうです。 重いnodeのプロセス そこでGitHubを漁っていたらHigh load due to ksoftirqd, growing iptables rulesというissueを見つけました。 こちらのコメントの通りルールをリストしてwcかけてみるとやはり大きいようです、3MBもある $ sudo iptables -L | wc # Warning: iptables-legacy tables present, use iptables-legacy to see them 18606 393165 3159290 またこちらで言及されているiptablesのバージョンにも近いようです。これはraspbianインストール時に最初から入っているiptablesです。...

October 17, 2021 · 1 min · Me

Manage k3s With systemd

Introduction This post shows a way to install k3s manually and add rc.local script for automatic launch. I found that k3s install script is more useful because it supports systemd, so I introduce it. Prerequisites 2 or more Raspberry pi installed Raspbian lite Please log in master/node, and add some setings to enable cgroup to /boot/cmdline.txt. Settings to add is cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory. Below is a example of my cluster....

May 18, 2019 · 2 min · Me

Launch Plex on RaspberryPi k3s Cluster

Introduction Plex is a media server works on Linux. You can enjoy movie or music from Plex, and the UI is very useful. This works as DLNA server too, and the setting is very easy. If you buy PlesPass, which is paid version of Plex, additional function is unlocked for you. However, free version is also enough for the basic funcionality. People may operate Plex on docker, but operating it on Kubernetes is meaningful for the users who operate many apps other than Plex....

May 5, 2019 · 3 min · Me

Install Helm to ARM k3s cluster

Introduction Helm is a tool for deploying apps to Kubernetes. It is time consuming that deploying a bunch of pods by hand, but Helm is very useful for such situation. Helm enables users to deploy many resources Kubernetes at once. It also works like “apt” or “yum” because you can load Helm charts that made by someone else from Helm repository. This page introduces that how to install Helm to your ARM k3s cluster....

May 4, 2019 · 2 min · Me