After installing VKS 3.5.0 guest cluster cannot be upgraded with error "SystemChecksSucceeded condition is not True. Message: PodDisruptionBudgets blocking rollouts:"
search cancel

After installing VKS 3.5.0 guest cluster cannot be upgraded with error "SystemChecksSucceeded condition is not True. Message: PodDisruptionBudgets blocking rollouts:"

book

Article ID: 422362

calendar_today

Updated On:

Products

Tanzu Kubernetes Runtime

Issue/Introduction

Guest cluster upgrade fails with error: "SystemChecksSucceeded condition is not True. Message: PodDisruptionBudgets blocking rollouts" after editing the cluster config adding the new VKr version.

 

Environment

VKS 3.5

Cause

VKr 3.5 is adding a new condition SystemChecksSucceeded. This condition indicates whether the cluster has passed existing all pre-update system checks related to PodDisruptionBudgets (PDBs). If there is any PDB with 'allowedDisruptions <=0', this condition will be false. The cluster upgrade will be blocked if this condition is false. 

see also:

VMware vSphere Kubernetes Service Release Notes

Resolution

Check if the PDB for the affected cluster is configured correctly:  kubectl get pdb -n <pod namespace>

 

see also:

Specifying a Disruption Budget for your Application

vSphere Supervisor Workload Cluster Upgrade Stuck due to Node Stuck Deleting caused by PodDisruptionBudget (PDB)

If you are sure that the PodDisruptionBudgets (PDB) are configured correctly for the affected cluster and that the application can handle pod disruptions then SystemChecksSucceeded might indicate a false positive.

To skip this PDB check add the cluster annotation below to the affected cluster when editing the cluster config to change the VKr version:

kubernetes.vmware.com/dangerous-skip-pdb-check-for-update: "true"

 

Note: This will disable the PDB pre-update system check only once (the annotation will be removed automatically after the cluster upgrade)