This message was deleted.
# k3s
a
This message was deleted.
c
did you provide your own containerd config template, but forget to make it an actual template, and instead just hardcoded a bunch of paths in it that you found in a pre-rendered config file?
specifically the cni bin dir…
b
Damn yes, because I had deployed kata long time ago as a test on two nodes and the .conf file was copied into .conf.tmpl What's the best way to add the block below without creating a tmpl file which I guess preserves old path of the cni bin dir?
Copy code
[plugins.cri.containerd.runtimes.kata]
  runtime_type = "io.containerd.kata.v2"
  privileged_without_host_devices = true
  pod_annotations = ["io.katacontainers.*"]
c
if you’re on a recent release
b
Awesome, I'm on 1.26.8
so essentially just create a tmpl file with
Copy code
{{ template "base" . }}
[plugins.cri.containerd.runtimes.kata]
  runtime_type = "io.containerd.kata.v2"
  privileged_without_host_devices = true
  pod_annotations = ["io.katacontainers.*"]
c
yep
b
Weird, k3s won't start even on 1.26.9 even though the PR seems backported
c
is the template getting rendered properly?
should be available on 1.26.8+ https://github.com/k3s-io/k3s/issues/8116
b
Think there's a change to containerd syntax, invalid plugin key URI "cri" expect io.containerd.x.vx
Copy code
# File generated by k3s. DO NOT EDIT. Use config.toml.tmpl instead.
version = 2

[plugins."io.containerd.internal.v1.opt"]
  path = "/var/lib/rancher/k3s/agent/containerd"
[plugins."io.containerd.grpc.v1.cri"]
  stream_server_address = "127.0.0.1"
  stream_server_port = "10010"
  enable_selinux = false
  enable_unprivileged_ports = true
  enable_unprivileged_icmp = true
  sandbox_image = "rancher/mirrored-pause:3.6"

[plugins."io.containerd.grpc.v1.cri".containerd]
  snapshotter = "overlayfs"
  disable_snapshot_annotations = true


[plugins."io.containerd.grpc.v1.cri".cni]
  bin_dir = "/var/lib/rancher/k3s/data/8f204184aa58bc8e77f4ef42e7a942f7b27fc2d41072ef15182f996b5d53381a/bin"
  conf_dir = "/var/lib/rancher/k3s/agent/etc/cni/net.d"


[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
  runtime_type = "io.containerd.runc.v2"

[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
  SystemdCgroup = true











[plugins.cri.containerd.runtimes.kata]
  runtime_type = "io.containerd.kata.v2"
  privileged_without_host_devices = true
  pod_annotations = ["io.katacontainers.*"]
looks like that
c
For the new config format, I think you want
Copy code
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.kata]
note that’s the format the other stanzas are in
b
I think that is it. You're awesome (as always) 😉
Now I can go and figure out the other things that broke yesterday when they got upgraded... Falco and CrowdSec 🤣 Joys of running things-upgrade-on-its-own deployment model