cgroup コントローラの委任が階層に渡されませんでした。

cgroup コントローラの委任が階層に渡されませんでした。

cgroup全体が私にとっては新しいものなので、用語を一部減らした場合はご了承ください。

私が欲しいのは後の話です。タイプルートレスPodmanを使用してRocky Linux 8および/または9で実行します。私は主にcgroup v2を使用して2つのOSバージョンを同じポイントで取得しましたが、どのように機能するのかわかりません。

いくつかの設定(Rocky 8ではさらにそうです)を使用してcgroupコントローラの委任を有効にしましたが、cgroup階層の途中で停止しているようです。

systemd構成で重要なのは

# /etc/systemd/system/[email protected]/delegate.conf
[Service]
Delegate=cpu cpuset io memory pids

これで、検証に必要なコントローラを使用できます。

$ cat /sys/fs/cgroup/user.slice/user-1000.slice/[email protected]/cgroup.controllers
cpuset cpu io memory pids

しかし、ユーザサービスのサブツリー制御はいいえ以下のコントローラがすべて含まれています。

$ cat /sys/fs/cgroup/user.slice/user-1000.slice/[email protected]/cgroup.subtree_control
memory pids

私が対話する端末はそのユーザーサービスに属するので、CPUとioコントローラは委任されません。

$ cat /proc/self/cgroup
0::/user.slice/user-1000.slice/[email protected]/gnome-terminal-server.service

$ cat /sys/fs/cgroup/user.slice/user-1000.slice/[email protected]/gnome-terminal-server.service/cgrouop.controllers
memory pids

この構成で実行しようとすると、kind create cluster必要なコントローラーが委任されていないため、エラーが発生します。

ユーザーサービスsubtree_controlにこれらのコントローラを手動で追加する場合:

$ echo '+cpuset +cpu +io' > /sys/fs/cgroup/user.slice/user-1000.slice/[email protected]

みんな大丈夫です。

だから私の質問は - 最終認証パスを自動化するために私が見逃しているものは何ですか?ログインするたびにechoコマンドを実行したくありません。

ベストアンサー1

おすすめ記事