Skip to content
This repository was archived by the owner on Mar 9, 2022. It is now read-only.
This repository was archived by the owner on Mar 9, 2022. It is now read-only.

CNI initialization sometimes fails when using "conf_template" #1033

@lbernail

Description

@lbernail

Hello

We’ve just started seeing a new issue with containerd, and I’m wondering if you could have some ideas:

  • we use the conf_template option because we rely on CloudAllocator (GCP)
  • sometimes (maybe 10% of the new nodes), the conf is successfully generated but containerd fails to create the sandbox with failed to find network info for sandbox
  • restarting containerd fixes the issue

After some initial digging, it looks like containerd generates the (valid) CNI config file and updates its status to Ready (so the kubelet starts to create pods) but doesn’t load it successfully and afterwards does not call the CNI plugin when creating the sandbox (no logs for the CNI plugin and no directory allocation for the ipam host-local plugin).

I look at the code for the CRI Status API and I don't see how it could give a Ready response without a successful though:

if err := c.netPlugin.Load(cni.WithLoNetwork, cni.WithDefaultConf); err != nil {

No big change on our side except an update to kubelet 1.10.11 (we have been running containerd 1.1.2 for more than 6 monts and had this issue for the first time 3 weeks ago.

Would you have an idea what could be the root cause?
I can of course provide more details and since the issue is happening almost daily I will be able to run additional debug commands

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