chore(bootstrap): upgrade kubespray to release-2.28 and kubernetes to v1.32.13

- Bump Kubespray baseline to release-2.28 (last release supporting Ubuntu 20.04)
- Upgrade Kubernetes control plane and node to v1.32.13
- Configure single-node cluster settings (drain_nodes: false)
- Add patch for Kubespray v1beta4 kubeadm preflight error handling
- Update init.sh, AGENTS.md, and README.md with two-phase upgrade instructions
This commit is contained in:
Moritz Graf
2026-09-19 22:57:19 +02:00
parent c9e21c082d
commit 87649e6e22
6 changed files with 96 additions and 10 deletions
+4 -3
View File
@@ -15,7 +15,7 @@ The core workflow is encapsulated in `init.sh`.
**Purpose**: Prepares the environment and Kubespray for deployment.
**Actions**:
1. **Clean Slate**: Deletes existing `kubespray/` directory.
2. **Clone**: Clones Kubespray (version defined in variable `VERSION`, e.g., `release-2.27`).
2. **Clone**: Clones Kubespray (version defined in variable `VERSION`, e.g., `release-2.28`).
3. **Environment**: Sets up Python virtualenv via `pyenv` and installs `requirements.txt`.
4. **Sync**: Copies local `./inventory/` configurations into `./kubespray/inventory/`.
@@ -26,12 +26,13 @@ The core workflow is encapsulated in `init.sh`.
```
2. **Deploy / Upgrade**:
After sourcing, go to the `kubespray` directory and run the Ansible playbooks as instructed by the script output.
* **Standard Run**:
* **Phase 1: Reconcile Kubespray baseline (stay on current k8s version)**:
```bash
cd kubespray
ansible-playbook -i inventory/prod/inventory.ini cluster.yml
```
* **Forced Upgrade**:
* **Phase 2: Upgrade Kubernetes version (e.g. to v1.32.13)**:
Update `kube_version` in `inventory/prod/group_vars/k8s_cluster/k8s-cluster.yml`, re-sync, and run:
```bash
cd kubespray
ansible-playbook -i inventory/prod/inventory.ini -e upgrade_cluster_setup=true cluster.yml