You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Minikube安装DataHub失败:Elasticsearch部署遇PodDisruptionBudget版本错误

解决DataHub前置依赖安装时PodDisruptionBudget API版本错误问题

错误原因

你的Minikube集群使用的Kubernetes版本≥1.21,而旧版本的DataHub prerequisites Helm Chart仍在使用已废弃的policy/v1beta1版本定义PodDisruptionBudget(PDB),该API版本在K8s 1.21+中已被移除,替换为policy/v1。

解决方案

方案1:升级DataHub prerequisites Helm Chart到兼容版本

  1. 更新Helm仓库,确保获取到最新的Chart版本:
    helm repo update datahub
    
  2. 直接安装最新版本的前置依赖(新版本已适配K8s 1.21+的API):
    helm install prerequisites datahub/datahub-prerequisites
    
    若需要指定具体版本,可先查询可用版本:
    helm search repo datahub/datahub-prerequisites --versions
    
    选择一个≥0.1.15的版本安装(该版本开始适配policy/v1):
    helm install prerequisites datahub/datahub-prerequisites --version 0.1.15
    

方案2:手动修改Chart的PDB API版本后本地安装

如果无法升级Chart版本,可手动修改模板文件:

  1. 拉取Chart到本地并解压:
    helm pull datahub/datahub-prerequisites --untar
    
  2. 进入解压后的目录,找到Elasticsearch的PDB模板文件:
    cd datahub-prerequisites/templates/elasticsearch
    
  3. 编辑pdb.yaml文件,将apiVersion: policy/v1beta1替换为apiVersion: policy/v1,同时确保spec下的selector字段嵌套在matchLabels中(policy/v1要求更严格的格式):
    示例修改后内容:
    apiVersion: policy/v1
    kind: PodDisruptionBudget
    metadata:
      name: elasticsearch-master-pdb
      labels:
        app: elasticsearch-master
    spec:
      minAvailable: 1
      selector:
        matchLabels:
          app: elasticsearch-master
    
  4. 从本地目录安装修改后的Chart:
    helm install prerequisites ./datahub-prerequisites
    

方案3:使用旧版本Kubernetes启动Minikube

如果暂时不想修改Chart,可启动一个K8s版本<1.21的Minikube集群:

minikube start --kubernetes-version=v1.20.15

之后再执行官方指南中的安装命令即可。

验证安装

安装完成后,执行以下命令确认PDB资源正常创建:

kubectl get poddisruptionbudgets

内容的提问来源于stack exchange,提问作者Gustavo Lima

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 18:31:07