0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

StylezAdvent Calendar 2024

Day 11

Proxmoxでコンテナ(CT)でK3Sを動かす(2024年版)

Last updated at Posted at 2024-12-10

毎度、ググっても出てこない小ネタを取り扱っております。
本記事は個人的な見解であり、筆者の所属するいかなる団体にも関係ございません。

0. はじめに

以前、こんな記事を書いたわけでございます。

Proxmoxのコンテナ(CT)でK3Sを動かす #kubernetes - Qiita
https://qiita.com/ynott/items/7bf39a63adbd2fcf6778

これはProxmoxの使い始めの頃で、CT(Container LXCコンテナのこと)を使って、K3Sを動かせられれば最高に便利なのでは?と思ってテストしてみたんですが、以外に面倒くさかったという落ちでした。

しかし、K3Sも進化(?)し、私の理解も進んできたので再度チャレンジしたら、以前よりも楽にできるようになっていたのでご紹介です。

通常、K3SをContainerで動かすと

  1. /dev/kmsgが無いとエラーが出る
  2. /proc/sys/vm/overcommit_memoryがReadOnlyだとエラーが出る
  3. /proc/sys/kernel/panic_on_oopsがReadOnlyだとエラーが出る
  4. /proc/sys/kernel/panicがReadOnlyだとエラーが出る

ということになり、動きません。

1. 対応方法

LXCは、非特権コンテナー(unprivileged container)にチェックを入れると、非特権コンテナーとして動きます。しかし、k3sは自分がrootで実行されているので特権を持っていると思っています。そこで上記のようなエラーが発生します。

そこで、k3sにあなたが動いている環境はrootではなく、UserNamespaceで実行されているのですよと以下の起動オプションを付けてあげます。

ExecStart=/usr/local/bin/k3s \
    server \
        '--tls-san' \
        '127.0.0.1' \
        --kubelet-arg=feature-gates=KubeletInUserNamespace=true \
        --kube-controller-manager-arg=feature-gates=KubeletInUserNamespace=true \
        --kube-apiserver-arg=feature-gates=KubeletInUserNamespace=true \

2. 前提条件

動かすには前提条件があります。

  • Cgroupsがv2であること(Proxmox Ver7以降)
  • CT(Container)がNested
  • CT(Container)がUnprivileged Container
  • CT(Container)で動かすOSが、Ubuntu 18.04以降、CentOS-8以降

3. 参考

高度なオプション / 設定 | K3s
https://docs.k3s.io/ja/advanced#%E3%83%AB%E3%83%BC%E3%83%88%E3%83%AC%E3%82%B9%E3%83%A2%E3%83%BC%E3%83%89%E3%81%AE%E6%97%A2%E7%9F%A5%E3%81%AE%E5%95%8F%E9%A1%8C

Running Kubernetes Node Components as a Non-root User | Kubernetes
https://kubernetes.io/docs/tasks/administer-cluster/kubelet-in-userns/#running-rootless-kubernetes-directly-on-a-host

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?