Skip to content

drop the default CPU limit on the host shield #2716

Description

@mnacharov

Greetings, sysdiglabs team 👋🏽

I'm not 100% sure, but it looks like the default limits.cpu option beat me on one of the k8s clusters I operate.

I'm running sysdig/shield across several clusters and have never encountered any CPU issues with it, but I recently started running it in the same cluster as my ARC (actions runner controller), which has pretty high pod churn.
I noticed that on that cluster, my nodes started having PSI "some" CPU pressure reported by node-exporter, and also a huge communication disruption with containerd, causing CreateContainerError for any pod scheduled on that node.

I've noticed that the shield's pods were not ready on nodes experiencing the error, and a simple restart helps resolve the issue. At that moment, I also found that shield's pods experienced huge throttling (8-12s). Removing the limits.cpu seems to fully solve the issue on my side (I've had 1 day without the issue so far). Also, the CPU consumption has not increased

Quickly studying a topic led me to conclude that CPU limits on node-level infrastructure in the syscall path — CNI, CSI, security agents — cloud cause the issue I've experienced:

What do you think? Does the default field for the limits.cpu of the sysdig/shield DaemonSet really need to be set?

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