mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-22 03:11:40 +00:00
Rename NodeSwapEnabled flag to NodeSwap
This commit is contained in:
parent
2423813207
commit
642eff0c69
@ -786,7 +786,7 @@ function start_kubelet {
|
||||
|
||||
# warn if users are running with swap allowed
|
||||
if [ "${FAIL_SWAP_ON}" == "false" ]; then
|
||||
echo "WARNING : The kubelet is configured to not fail even if swap is enabled; production deployments should disable swap unless testing NodeSwapEnabled feature."
|
||||
echo "WARNING : The kubelet is configured to not fail even if swap is enabled; production deployments should disable swap unless testing NodeSwap feature."
|
||||
fi
|
||||
|
||||
if [[ "${REUSE_CERTS}" != true ]]; then
|
||||
|
@ -667,7 +667,7 @@ const (
|
||||
// alpha: v1.22
|
||||
//
|
||||
// Permits kubelet to run with swap enabled
|
||||
NodeSwapEnabled featuregate.Feature = "NodeSwapEnabled"
|
||||
NodeSwap featuregate.Feature = "NodeSwap"
|
||||
|
||||
// owner: @ahg-g
|
||||
// alpha: v1.21
|
||||
@ -889,7 +889,7 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS
|
||||
VolumeCapacityPriority: {Default: false, PreRelease: featuregate.Alpha},
|
||||
PreferNominatedNode: {Default: true, PreRelease: featuregate.Beta},
|
||||
ProbeTerminationGracePeriod: {Default: false, PreRelease: featuregate.Alpha},
|
||||
NodeSwapEnabled: {Default: false, PreRelease: featuregate.Alpha},
|
||||
NodeSwap: {Default: false, PreRelease: featuregate.Alpha},
|
||||
PodDeletionCost: {Default: true, PreRelease: featuregate.Beta},
|
||||
StatefulSetAutoDeletePVC: {Default: false, PreRelease: featuregate.Alpha},
|
||||
TopologyAwareHints: {Default: false, PreRelease: featuregate.Alpha},
|
||||
|
@ -331,7 +331,7 @@ type KubeletConfiguration struct {
|
||||
// Tells the Kubelet to fail to start if swap is enabled on the node.
|
||||
FailSwapOn bool
|
||||
// memorySwap configures swap memory available to container workloads.
|
||||
// +featureGate=NodeSwapEnabled
|
||||
// +featureGate=NodeSwap
|
||||
// +optional
|
||||
MemorySwap MemorySwapConfiguration
|
||||
// A quantity defines the maximum size of the container log file before it is rotated. For example: "5Mi" or "256Ki".
|
||||
@ -590,7 +590,7 @@ type MemorySwapConfiguration struct {
|
||||
// swapBehavior configures swap memory available to container workloads. May be one of
|
||||
// "", "LimitedSwap": workload combined memory and swap usage cannot exceed pod memory limit
|
||||
// "UnlimitedSwap": workloads can use unlimited swap, up to the allocatable limit.
|
||||
// +featureGate=NodeSwapEnabled
|
||||
// +featureGate=NodeSwap
|
||||
// +optional
|
||||
SwapBehavior string
|
||||
}
|
||||
|
@ -155,13 +155,13 @@ func ValidateKubeletConfiguration(kc *kubeletconfig.KubeletConfiguration) error
|
||||
if (kc.ShutdownGracePeriod.Duration > 0 || kc.ShutdownGracePeriodCriticalPods.Duration > 0) && !localFeatureGate.Enabled(features.GracefulNodeShutdown) {
|
||||
allErrors = append(allErrors, fmt.Errorf("invalid configuration: Specifying ShutdownGracePeriod or ShutdownGracePeriodCriticalPods requires feature gate GracefulNodeShutdown"))
|
||||
}
|
||||
if localFeatureGate.Enabled(features.NodeSwapEnabled) {
|
||||
if localFeatureGate.Enabled(features.NodeSwap) {
|
||||
if kc.MemorySwap.SwapBehavior != "" && kc.MemorySwap.SwapBehavior != kubetypes.LimitedSwap && kc.MemorySwap.SwapBehavior != kubetypes.UnlimitedSwap {
|
||||
allErrors = append(allErrors, fmt.Errorf("invalid configuration: MemorySwap.SwapBehavior %v must be one of: LimitedSwap, UnlimitedSwap", kc.MemorySwap.SwapBehavior))
|
||||
}
|
||||
}
|
||||
if !localFeatureGate.Enabled(features.NodeSwapEnabled) && kc.MemorySwap != (kubeletconfig.MemorySwapConfiguration{}) {
|
||||
allErrors = append(allErrors, fmt.Errorf("invalid configuration: MemorySwap.SwapBehavior cannot be set when NodeSwapEnabled feature flag is disabled"))
|
||||
if !localFeatureGate.Enabled(features.NodeSwap) && kc.MemorySwap != (kubeletconfig.MemorySwapConfiguration{}) {
|
||||
allErrors = append(allErrors, fmt.Errorf("invalid configuration: MemorySwap.SwapBehavior cannot be set when NodeSwap feature flag is disabled"))
|
||||
}
|
||||
|
||||
for _, val := range kc.EnforceNodeAllocatable {
|
||||
|
@ -156,7 +156,7 @@ func TestValidateKubeletConfiguration(t *testing.T) {
|
||||
FeatureGates: map[string]bool{
|
||||
"CustomCPUCFSQuotaPeriod": true,
|
||||
"GracefulNodeShutdown": true,
|
||||
"NodeSwapEnabled": true,
|
||||
"NodeSwap": true,
|
||||
"MemoryQoS": true,
|
||||
},
|
||||
Logging: componentbaseconfig.LoggingConfiguration{
|
||||
@ -241,7 +241,7 @@ func TestValidateKubeletConfiguration(t *testing.T) {
|
||||
FeatureGates: map[string]bool{
|
||||
"CustomCPUCFSQuotaPeriod": true,
|
||||
"GracefulNodeShutdown": true,
|
||||
"NodeSwapEnabled": true,
|
||||
"NodeSwap": true,
|
||||
"MemoryQoS": true,
|
||||
},
|
||||
Logging: componentbaseconfig.LoggingConfiguration{
|
||||
|
@ -100,7 +100,7 @@ func (m *kubeGenericRuntimeManager) generateLinuxContainerConfig(container *v1.C
|
||||
|
||||
lc.Resources.HugepageLimits = GetHugepageLimitsFromResources(container.Resources)
|
||||
|
||||
if utilfeature.DefaultFeatureGate.Enabled(kubefeatures.NodeSwapEnabled) {
|
||||
if utilfeature.DefaultFeatureGate.Enabled(kubefeatures.NodeSwap) {
|
||||
// NOTE(ehashman): Behaviour is defined in the opencontainers runtime spec:
|
||||
// https://github.com/opencontainers/runtime-spec/blob/1c3f411f041711bbeecf35ff7e93461ea6789220/config-linux.md#memory
|
||||
switch m.memorySwapBehavior {
|
||||
|
@ -466,7 +466,7 @@ func TestGenerateLinuxContainerConfigNamespaces(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestGenerateLinuxContainerConfigSwap(t *testing.T) {
|
||||
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.NodeSwapEnabled, true)()
|
||||
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.NodeSwap, true)()
|
||||
_, _, m, err := createTestRuntimeManager()
|
||||
if err != nil {
|
||||
t.Fatalf("error creating test RuntimeManager: %v", err)
|
||||
|
@ -824,7 +824,7 @@ type KubeletConfiguration struct {
|
||||
// +optional
|
||||
FailSwapOn *bool `json:"failSwapOn,omitempty"`
|
||||
// memorySwap configures swap memory available to container workloads.
|
||||
// +featureGate=NodeSwapEnabled
|
||||
// +featureGate=NodeSwap
|
||||
// +optional
|
||||
MemorySwap MemorySwapConfiguration `json:"memorySwap,omitempty"`
|
||||
// containerLogMaxSize is a quantity defining the maximum size of the container log
|
||||
@ -1132,7 +1132,7 @@ type MemorySwapConfiguration struct {
|
||||
// swapBehavior configures swap memory available to container workloads. May be one of
|
||||
// "", "LimitedSwap": workload combined memory and swap usage cannot exceed pod memory limit
|
||||
// "UnlimitedSwap": workloads can use unlimited swap, up to the allocatable limit.
|
||||
// +featureGate=NodeSwapEnabled
|
||||
// +featureGate=NodeSwap
|
||||
// +optional
|
||||
SwapBehavior string `json:"swapBehavior,omitempty"`
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user