Merge pull request #27874 from ingvagabund/kubelet-kernel-tunning-behaviour-new-flags
Automatic merge from submit-queue [kubelet] Introduce --protect-kernel-defaults flag to make the tunable behaviour configurable Let's make the default behaviour of kernel tuning configurable. The default behaviour is kept modify as has been so far.
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -397,6 +397,8 @@ type KubeletConfiguration struct {
|
||||
// Currently only cpu and memory are supported. [default=none]
|
||||
// See http://releases.k8s.io/HEAD/docs/user-guide/compute-resources.md for more detail.
|
||||
KubeReserved utilconfig.ConfigurationMap `json:"kubeReserved"`
|
||||
// Default behaviour for kernel tuning
|
||||
ProtectKernelDefaults bool `json:"protectKernelDefaults"`
|
||||
}
|
||||
|
||||
type KubeSchedulerConfiguration struct {
|
||||
|
||||
@@ -452,4 +452,6 @@ type KubeletConfiguration struct {
|
||||
// Currently only cpu and memory are supported. [default=none]
|
||||
// See http://releases.k8s.io/HEAD/docs/user-guide/compute-resources.md for more detail.
|
||||
KubeReserved map[string]string `json:"kubeReserved"`
|
||||
// Default behaviour for kernel tuning
|
||||
ProtectKernelDefaults bool `json:"protectKernelDefaults"`
|
||||
}
|
||||
|
||||
@@ -319,6 +319,7 @@ func autoConvert_v1alpha1_KubeletConfiguration_To_componentconfig_KubeletConfigu
|
||||
} else {
|
||||
out.KubeReserved = nil
|
||||
}
|
||||
out.ProtectKernelDefaults = in.ProtectKernelDefaults
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -483,6 +484,7 @@ func autoConvert_componentconfig_KubeletConfiguration_To_v1alpha1_KubeletConfigu
|
||||
} else {
|
||||
out.KubeReserved = nil
|
||||
}
|
||||
out.ProtectKernelDefaults = in.ProtectKernelDefaults
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -377,6 +377,7 @@ func DeepCopy_v1alpha1_KubeletConfiguration(in interface{}, out interface{}, c *
|
||||
} else {
|
||||
out.KubeReserved = nil
|
||||
}
|
||||
out.ProtectKernelDefaults = in.ProtectKernelDefaults
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
@@ -325,6 +325,7 @@ func DeepCopy_componentconfig_KubeletConfiguration(in interface{}, out interface
|
||||
} else {
|
||||
out.KubeReserved = nil
|
||||
}
|
||||
out.ProtectKernelDefaults = in.ProtectKernelDefaults
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,12 +39,13 @@ type ContainerManager interface {
|
||||
}
|
||||
|
||||
type NodeConfig struct {
|
||||
RuntimeCgroupsName string
|
||||
SystemCgroupsName string
|
||||
KubeletCgroupsName string
|
||||
ContainerRuntime string
|
||||
CgroupsPerQOS bool
|
||||
CgroupRoot string
|
||||
RuntimeCgroupsName string
|
||||
SystemCgroupsName string
|
||||
KubeletCgroupsName string
|
||||
ContainerRuntime string
|
||||
CgroupsPerQOS bool
|
||||
CgroupRoot string
|
||||
ProtectKernelDefaults bool
|
||||
}
|
||||
|
||||
type Status struct {
|
||||
|
||||
@@ -199,7 +199,6 @@ func createManager(containerName string) *fs.Manager {
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: plumb this up as a flag to Kubelet in a future PR
|
||||
type KernelTunableBehavior string
|
||||
|
||||
const (
|
||||
@@ -288,8 +287,11 @@ func (cm *containerManagerImpl) setupNode() error {
|
||||
if !f.cpuHardcapping {
|
||||
cm.status.SoftRequirements = fmt.Errorf("CPU hardcapping unsupported")
|
||||
}
|
||||
// TODO: plumb kernel tunable options into container manager, right now, we modify by default
|
||||
if err := setupKernelTunables(KernelTunableModify); err != nil {
|
||||
b := KernelTunableModify
|
||||
if cm.GetNodeConfig().ProtectKernelDefaults {
|
||||
b = KernelTunableError
|
||||
}
|
||||
if err := setupKernelTunables(b); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user