33_check_upgrade_readiness.yml - Usage Guide
Purpose
Checks the following blockers in a single report before a Kubernetes upgrade:
- API server and kubelet version alignment
- Node
Ready/ cordon state - Minor-version skipping and downgrade
- PDBs that can block drain
- Admission webhooks with
failurePolicy=Fail - API server deprecated API metrics
- Age of the latest etcd backup
- etcd/root disk fullness
Variables
| Variable | Default | Description |
|---|---|---|
upgrade_readiness_target_version | empty | Target X.Y.Z; if empty, target-specific checks are skipped |
upgrade_readiness_backup_directory | /var/backups/etcd | Backup directory |
upgrade_readiness_max_backup_age_hours | 24 | Maximum backup age |
upgrade_readiness_max_disk_percent | 85 | Disk warning threshold |
upgrade_readiness_fail_on_blockers | true | Fails the playbook when a blocker is found |
How to run
ansible-playbook -i inventories/musteri_a/hosts.ini playbooks/33_check_upgrade_readiness.yml \
--extra-vars 'upgrade_readiness_target_version=1.34.3'
Run 06_update_k8s_services.yml only after this playbook succeeds.
Official references: kubeadm cluster upgrade, Kubernetes deprecation policy