apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig
metadata:
labels:
machineconfiguration.openshift.io/role: worker
name: 90-worker-swap
spec:
config:
ignition:
version: 3.5.0
storage:
files:
- contents:
source: data:text/plain;charset=utf-8;base64,YXBpVmVyc2lvbjoga3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEKa2luZDogS3ViZWxldENvbmZpZ3VyYXRpb24KZmFpbFN3YXBPbjogZmFsc2UK
mode: 420
overwrite: true
path: /etc/openshift/kubelet.conf.d/90-swap.conf
systemd:
units:
- contents: |
[Unit]
Description=Enable swap
ConditionFirstBoot=no
ConditionPathExists=/var/tmp/swapfile
[Service]
Type=oneshot
ExecStart=/bin/sh -c "sudo swapon /var/tmp/swapfile"
[Install]
RequiredBy=kubelet-dependencies.target
enabled: true
name: swap-enable.service
- contents: |
[Unit]
Description=Provision and enable swap
ConditionFirstBoot=no
ConditionPathExists=!/var/tmp/swapfile
[Service]
Type=oneshot
Environment=SWAP_SIZE_MB=5000
ExecStart=/bin/sh -c "sudo fallocate -l ${SWAP_SIZE_MB}M /var/tmp/swapfile && \
sudo chmod 600 /var/tmp/swapfile && \
sudo mkswap /var/tmp/swapfile && \
sudo swapon /var/tmp/swapfile && \
free -h"
[Install]
RequiredBy=kubelet-dependencies.target
enabled: true
name: swap-provision.service
- contents: |
[Unit]
Description=Restrict swap for system slice
ConditionFirstBoot=no
[Service]
Type=oneshot
ExecStart=/bin/sh -c "sudo systemctl set-property --runtime system.slice MemorySwapMax=0 IODeviceLatencyTargetSec=\"/ 50ms\""
[Install]
RequiredBy=kubelet-dependencies.target
enabled: true
name: cgroup-system-slice-config.service