Kubernetes 1.19中kubectl drain --dry-run未显示PDB相关错误问题
问题解答
是的,Kubernetes 1.19版本中kubectl drain的--dry-run模式确实不会校验Pod Disruption Budget(PDB)的限制,所以才会出现你遇到的矛盾现象:
- 你的Deployment副本数为1,PDB设置
minAvailable=1,此时ALLOWED DISRUPTIONS为0,实际执行驱逐时会被PDB阻止 - 但
--dry-run模式仅模拟驱逐流程的表层逻辑,不会触发完整的PDB校验,所以输出仍会显示Pod被驱逐的内容
若要验证PDB的限制是否生效,直接执行不带--dry-run的kubectl drain node-1命令,此时Kubernetes会返回违反PDB限制的错误,无法完成该Pod的驱逐操作。
内容的提问来源于stack exchange,提问作者Nish
相关产品推荐
相关产品推荐

