Add cleanup kubeadm backups under /etc/kubernetes/tmp (#13415)

* Add cleanup kubeadm backups under /etc/kubernetes/tmp

* Add kubeadm_backup_retention_count=0 to test
This commit is contained in:
wangsifei99
2026-09-10 07:42:46 +00:00
committed by GitHub
parent 44ab38baae
commit 35f900dd72
4 changed files with 59 additions and 0 deletions
@@ -246,6 +246,12 @@ auto_renew_certificates_systemd_calendar: "Mon *-*-1,2,3,4,5,6,7 03:00:00"
# we can opt out from the default behavior by setting kubeadm_upgrade_auto_cert_renewal to false
kubeadm_upgrade_auto_cert_renewal: true
# Number of kubeadm upgrade backups to retain in /etc/kubernetes/tmp/.
# Set to a negative value to retain all backups (default, no cleanup).
# Set to 0 to remove all backups after upgrade.
kubeadm_backup_retention_count: -1
# Add Subject Alternative Names to the Kubernetes apiserver certificates.
# Useful if you access the API from multiples load balancers, for instance.
supplementary_addresses_in_ssl_keys: []
@@ -0,0 +1,46 @@
---
- name: Find kubeadm etcd backup directories
ansible.builtin.find:
paths: "/etc/kubernetes/tmp"
file_type: directory
recurse: false
patterns: "kubeadm-backup-*"
register: _kubeadm_etcd_backups
when: kubeadm_backup_retention_count >= 0
- name: Remove old kubeadm etcd backups
ansible.builtin.file:
path: "{{ item }}"
state: absent
loop: >-
{{
(_kubeadm_etcd_backups.files
| sort(attribute='ctime', reverse=True)
)[kubeadm_backup_retention_count:]
| map(attribute='path')
}}
when: kubeadm_backup_retention_count >= 0
- name: Find kubeadm temporary upgrade files
ansible.builtin.find:
paths: "/etc/kubernetes/tmp"
file_type: any
recurse: false
patterns:
- "kubeadm-kubelet-config*"
- "kubeadm-kubelet-env*"
register: _kubeadm_tmp_files
when: kubeadm_backup_retention_count >= 0
- name: Remove old kubeadm temporary upgrade files
ansible.builtin.file:
path: "{{ item }}"
state: absent
loop: >-
{{
(_kubeadm_tmp_files.files
| sort(attribute='ctime', reverse=True)
)[kubeadm_backup_retention_count:]
| map(attribute='path')
}}
when: kubeadm_backup_retention_count >= 0
@@ -86,3 +86,6 @@
- kubeadm_scale_down_coredns_enabled
- dns_mode not in ['coredns', 'coredns_dual']
changed_when: false
- name: Kubeadm | cleanup old upgrade backups
import_tasks: kubeadm-backup-cleanup.yml
@@ -26,3 +26,7 @@ containerd_registries_mirrors:
- host: http://172.19.16.11:5000
capabilities: ["pull", "resolve", "push"]
skip_verify: true
# Upgrade cluster settings
# set 0 to clean all kubeadm backups
kubeadm_backup_retention_count: 0