mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	kubelet: skip setting the devices cgroup
use the new libcontainer feature of skipping setting the devices cgroup. This is necessary on cgroup v2 to avoid leaking a eBPF program every time the cgroup is re-configured. Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
This commit is contained in:
		@@ -495,6 +495,7 @@ func setResourcesV2(cgroupConfig *libcontainerconfigs.Cgroup) error {
 | 
				
			|||||||
			Major:       libcontainerconfigs.Wildcard,
 | 
								Major:       libcontainerconfigs.Wildcard,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						cgroupConfig.Resources.SkipDevices = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	manager, err := cgroupfs2.NewManager(cgroupConfig, cgroupConfig.Path, false)
 | 
						manager, err := cgroupfs2.NewManager(cgroupConfig, cgroupConfig.Path, false)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
@@ -517,6 +518,7 @@ func (m *cgroupManagerImpl) toResources(resourceConfig *ResourceConfig) *libcont
 | 
				
			|||||||
				Major:       libcontainerconfigs.Wildcard,
 | 
									Major:       libcontainerconfigs.Wildcard,
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
							SkipDevices: true,
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if resourceConfig == nil {
 | 
						if resourceConfig == nil {
 | 
				
			||||||
		return resources
 | 
							return resources
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -384,6 +384,7 @@ func createManager(containerName string) (cgroups.Manager, error) {
 | 
				
			|||||||
					Major:       configs.Wildcard,
 | 
										Major:       configs.Wildcard,
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
 | 
								SkipDevices: true,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -123,8 +123,9 @@ func createCgroupManager(name string) (cgroups.Manager, error) {
 | 
				
			|||||||
		Parent: "/",
 | 
							Parent: "/",
 | 
				
			||||||
		Name:   name,
 | 
							Name:   name,
 | 
				
			||||||
		Resources: &configs.Resources{
 | 
							Resources: &configs.Resources{
 | 
				
			||||||
			Memory:     int64(memoryLimit),
 | 
								Memory:      int64(memoryLimit),
 | 
				
			||||||
			MemorySwap: -1,
 | 
								MemorySwap:  -1,
 | 
				
			||||||
 | 
								SkipDevices: true,
 | 
				
			||||||
			Devices: []*configs.DeviceRule{
 | 
								Devices: []*configs.DeviceRule{
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					Minor:       configs.Wildcard,
 | 
										Minor:       configs.Wildcard,
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user