Browse Source

Add capability to use swap, requires Kube 1.22 (#8241)

* Alpha-NodeSwap: allow nodes to use swap

* CI: Add Fedora 35 with experimental swap job
pull/8255/head
Cristian Calin 3 years ago
committed by GitHub
parent
commit
ee882fa462
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 33 additions and 3 deletions
  1. 5
      .gitlab-ci/packet.yml
  2. 2
      docs/ci.md
  3. 4
      roles/kubernetes/node/templates/kubelet-config.v1beta1.yaml.j2
  4. 10
      roles/kubernetes/preinstall/tasks/0010-swapoff.yml
  5. 15
      tests/files/packet_fedora35-calico-swap-selinux.yml

5
.gitlab-ci/packet.yml

@ -229,6 +229,11 @@ packet_fedora34-calico-selinux:
extends: .packet_periodic
when: on_success
packet_fedora35-calico-swap-selinux:
stage: deploy-part2
extends: .packet_pr
when: manual
packet_amazon-linux-2-aio:
stage: deploy-part2
extends: .packet_pr

2
docs/ci.md

@ -14,7 +14,7 @@ debian11 | :white_check_mark: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: |
debian9 | :x: | :x: | :x: | :x: | :x: | :x: | :white_check_mark: | :x: | :x: |
fedora33 | :white_check_mark: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: |
fedora34 | :white_check_mark: | :x: | :x: | :x: | :white_check_mark: | :x: | :x: | :x: | :x: |
fedora35 | :x: | :x: | :x: | :x: | :x: | :white_check_mark: | :x: | :x: | :x: |
fedora35 | :white_check_mark: | :x: | :x: | :x: | :x: | :white_check_mark: | :x: | :x: | :x: |
opensuse | :x: | :white_check_mark: | :x: | :x: | :x: | :x: | :x: | :x: | :x: |
oracle7 | :x: | :white_check_mark: | :x: | :x: | :x: | :x: | :x: | :x: | :x: |
ubuntu16 | :x: | :white_check_mark: | :x: | :white_check_mark: | :x: | :white_check_mark: | :x: | :x: | :x: |

4
roles/kubernetes/node/templates/kubelet-config.v1beta1.yaml.j2

@ -106,3 +106,7 @@ eventRecordQPS: {{ kubelet_event_record_qps }}
shutdownGracePeriod: {{ kubelet_shutdown_grace_period }}
shutdownGracePeriodCriticalPods: {{ kubelet_shutdown_grace_period_critical_pods }}
{% endif %}
{% if not kubelet_fail_swap_on|default(true) %}
memorySwap:
swapBehavior: {{ kubelet_swap_behavior|default("LimitedSwap") }}
{% endif %}

10
roles/kubernetes/preinstall/tasks/0010-swapoff.yml

@ -13,11 +13,17 @@
command: /sbin/swapon -s
register: swapon
changed_when: no
- name: Disable swap
command: /sbin/swapoff -a
when: swapon.stdout
when:
- swapon.stdout
- kubelet_fail_swap_on | default(True)
ignore_errors: "{{ ansible_check_mode }}" # noqa ignore-errors
- name: Disable swapOnZram for Fedora
command: touch /etc/systemd/zram-generator.conf
when: swapon.stdout and ansible_distribution in ['Fedora']
when:
- swapon.stdout
- ansible_distribution in ['Fedora']
- kubelet_fail_swap_on | default(True)

15
tests/files/packet_fedora35-calico-swap-selinux.yml

@ -0,0 +1,15 @@
---
# Instance settings
cloud_image: fedora-35
mode: default
# Kubespray settings
auto_renew_certificates: true
# Test with SELinux in enforcing mode
preinstall_selinux_state: enforcing
# Test Alpha swap feature by leveraging zswap default config in Fedora 35
kubelet_fail_swap_on: False
kube_feature_gates:
- "NodeSwap=True"
Loading…
Cancel
Save