Skip to content

how to properly set up gvisor (especially with cilium)?  #561

@xyhhx

Description

@xyhhx

in the gvisor directory's readme, it is documented that unprivileged user namespace creation must be enabled1. to do that, it simply says to patch the user.max_user_namespaces sysctl.

but there are other docs that describe enabling user namespaces in talos/kubernetes: https://www.talos.dev/v1.9/kubernetes-guides/configuration/usernamespace/ - do we need to do this as well to accomodate gvisor?

then of course there is this issue which suggests that gvisor is possibly not compatible with the latest version(s) of talos?

finally, there are many issues related to setting up gvisor alongside cilium23 as well as docs explicitly to support this use case4. at first, i'm inclined to say this is out of scope for talos documentation; but on the other hand, if a user sets up cilium as documented in talos docs, gvisor doesn't work and from my experimentation it is far from trivial to reconfigure talos/kubernetes/cilium in such a way to handle gvisor resulting in major service disruption if done improperly

it might be a good idea to at least mention that, if a user configured cilium according to the docs, gvisor will not work and further configuration is needed, and care must be taken to do it properly

Footnotes

  1. https://github.com/siderolabs/extensions/tree/main/container-runtime/gvisor#usage

  2. https://github.com/google/gvisor/issues/6998

  3. https://github.com/cilium/cilium/issues/15626

  4. https://docs.cilium.io/en/stable/network/kubernetes/kubeproxy-free/#socket-loadbalancer-bypass-in-pod-namespace

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions