diff --git a/roles/kubernetes/node/defaults/main.yml b/roles/kubernetes/node/defaults/main.yml index 55045d4148cf2a0efd603f988d19be0123178e9f..611801318c63d5ea6599a39a4d230f4fc521e999 100644 --- a/roles/kubernetes/node/defaults/main.yml +++ b/roles/kubernetes/node/defaults/main.yml @@ -20,9 +20,6 @@ kubelet_kubelet_cgroups: "/{{ kube_service_cgroups }}/kubelet.service" kubelet_runtime_cgroups_cgroupfs: "/system.slice/{{ container_manager }}.service" kubelet_kubelet_cgroups_cgroupfs: "/system.slice/kubelet.service" -### fail with swap on (default true) -kubelet_fail_swap_on: true - # Set systemd service hardening features kubelet_systemd_hardening: false diff --git a/roles/kubernetes/node/templates/kubelet-config.v1beta1.yaml.j2 b/roles/kubernetes/node/templates/kubelet-config.v1beta1.yaml.j2 index cdaae67b7580c4fb08352372e90e7f238f2f5e36..d8cc557f4935b472afb846ba710a8fb951bcf116 100644 --- a/roles/kubernetes/node/templates/kubelet-config.v1beta1.yaml.j2 +++ b/roles/kubernetes/node/templates/kubelet-config.v1beta1.yaml.j2 @@ -1,7 +1,7 @@ apiVersion: kubelet.config.k8s.io/v1beta1 kind: KubeletConfiguration nodeStatusUpdateFrequency: "{{ kubelet_status_update_frequency }}" -failSwapOn: {{ kubelet_fail_swap_on|default(true) }} +failSwapOn: {{ kubelet_fail_swap_on }} authentication: anonymous: enabled: false @@ -140,9 +140,9 @@ eventRecordQPS: {{ kubelet_event_record_qps }} {% endif %} shutdownGracePeriod: {{ kubelet_shutdown_grace_period }} shutdownGracePeriodCriticalPods: {{ kubelet_shutdown_grace_period_critical_pods }} -{% if not kubelet_fail_swap_on|default(true) %} +{% if not kubelet_fail_swap_on %} memorySwap: - swapBehavior: {{ kubelet_swap_behavior|default("LimitedSwap") }} + swapBehavior: {{ kubelet_swap_behavior }} {% endif %} {% if kubelet_streaming_connection_idle_timeout is defined %} streamingConnectionIdleTimeout: {{ kubelet_streaming_connection_idle_timeout }} diff --git a/roles/kubernetes/preinstall/tasks/0010-swapoff.yml b/roles/kubernetes/preinstall/tasks/0010-swapoff.yml index 4ea91d83e7e9e978809cec56bac1f2cd1650064b..c3c5e9e91220eb44a87213149a0d7f8b6ba6e471 100644 --- a/roles/kubernetes/preinstall/tasks/0010-swapoff.yml +++ b/roles/kubernetes/preinstall/tasks/0010-swapoff.yml @@ -4,7 +4,7 @@ name: "{{ item }}" fstype: swap state: absent - with_items: + loop: - swap - none @@ -18,7 +18,6 @@ command: /sbin/swapoff -a when: - swapon.stdout - - kubelet_fail_swap_on | default(True) ignore_errors: "{{ ansible_check_mode }}" # noqa ignore-errors - name: Disable swapOnZram for Fedora @@ -26,4 +25,3 @@ when: - swapon.stdout - ansible_distribution in ['Fedora'] - - kubelet_fail_swap_on | default(True) diff --git a/roles/kubernetes/preinstall/tasks/main.yml b/roles/kubernetes/preinstall/tasks/main.yml index 95aa4c6380440c13bf197f22fb1d42b75d3b7b5d..8e12636ec4f81bfb42bc50507c86d2865c46cd3f 100644 --- a/roles/kubernetes/preinstall/tasks/main.yml +++ b/roles/kubernetes/preinstall/tasks/main.yml @@ -3,7 +3,7 @@ - import_tasks: 0010-swapoff.yml when: - not dns_late - - disable_swap + - kubelet_fail_swap_on - import_tasks: 0020-set_facts.yml tags: diff --git a/roles/kubespray-defaults/defaults/main.yaml b/roles/kubespray-defaults/defaults/main.yaml index eb8fbaa11bf1932e84234213b1b331280699cad0..aed6c7e0a6587298f9ded4bef78f14f0a4ca5cc9 100644 --- a/roles/kubespray-defaults/defaults/main.yaml +++ b/roles/kubespray-defaults/defaults/main.yaml @@ -11,8 +11,9 @@ kube_api_anonymous_auth: true # Default value, but will be set to true automatically if detected is_fedora_coreos: false -# optional disable the swap -disable_swap: true +# Swap settings +kubelet_fail_swap_on: true +kubelet_swap_behavior: LimitedSwap ## Change this to use another Kubernetes version, e.g. a current beta release kube_version: v1.26.3 diff --git a/tests/files/packet_fedora35-calico-swap-selinux.yml b/tests/files/packet_fedora35-calico-swap-selinux.yml index 1535642ccea81eac71c8f6b18c7304839919b3ea..c8f058effce8aac19b505c719f7a159b5bab028e 100644 --- a/tests/files/packet_fedora35-calico-swap-selinux.yml +++ b/tests/files/packet_fedora35-calico-swap-selinux.yml @@ -14,6 +14,6 @@ kube_proxy_mode: iptables preinstall_selinux_state: enforcing # Test Alpha swap feature by leveraging zswap default config in Fedora 35 -kubelet_fail_swap_on: False +kubelet_fail_swap_on: false kube_feature_gates: - "NodeSwap=True"