使用Helm Chart在Kubernetes安装Milvus集群遇PodDisruptionBudget版本错误
解决Kubernetes 1.28环境下安装Milvus集群的PodDisruptionBudget API版本错误
问题原因
Kubernetes 1.28版本已彻底移除policy/v1beta1版本的PodDisruptionBudget资源定义,强制使用policy/v1版本。你使用的Milvus Helm Chart仍在调用旧API版本,导致K8s无法识别该资源。
解决方案
方案1:升级Milvus Helm Chart到兼容版本
这是最推荐的方式,确保Chart与K8s版本匹配:
- 更新Helm仓库索引:
helm repo update milvus - 安装最新兼容的Milvus集群版本(默认启用集群模式):
helm install milvus milvus/milvus --set cluster.enabled=true - 若需要指定具体兼容版本(如Milvus 2.3.0及以上Chart已适配K8s 1.28):
helm install milvus milvus/milvus --version 2.3.0 --set cluster.enabled=true
方案2:手动修改现有Chart的API版本
如果无法升级Chart,可手动修改资源定义:
- 拉取Milvus Chart到本地并解压:
helm pull milvus/milvus --untar - 进入Chart目录:
cd milvus - 查找所有包含
PodDisruptionBudget的模板文件(通常在templates或其子目录下,如templates/pdb.yaml),将文件中的apiVersion: policy/v1beta1替换为apiVersion: policy/v1 - 确认
spec字段无废弃配置(policy/v1兼容v1beta1的minAvailable和maxUnavailable字段,无需额外修改) - 使用修改后的本地Chart安装:
helm install milvus ./milvus --set cluster.enabled=true
方案3:降级Minikube到兼容旧API的版本(不推荐)
若必须使用旧版Milvus Chart,可降级Minikube对应K8s版本到1.27及以下(这些版本仍保留policy/v1beta1兼容):
minikube start --kubernetes-version=v1.27.3
内容的提问来源于stack exchange,提问作者Akash Karmacharya
相关产品推荐
相关产品推荐

