在Minikube上安装Kubeflow时出现HorizontalPodAutoscaler未找到问题
问题解答
一、关于Kubeflow/Knative出现API版本差异的原因
这不是Bug,而是Kubernetes API版本迭代和组件版本适配滞后导致的:
- Kubernetes的API版本分为alpha(测试)、beta(预发布)、stable(稳定)三个阶段,
autoscaling/v2beta2是HPA的旧beta版本,在Kubernetes v1.23被标记为弃用,v1.25版本中完全移除。你的Kubernetes服务端是v1.26.3,已经不再支持这个旧API版本。 - Kubeflow依赖的Knative版本,其配置文件可能还停留在适配旧版Kubernetes的阶段,没有及时更新到使用稳定版的
autoscaling/v2API,所以才会出现找不到资源的错误。你手动修改为v2能成功,本质是让配置适配了当前集群支持的API版本。
二、修复patchesStrategicMerge弃用警告
Kustomize v5.0.0开始弃用patchesStrategicMerge,官方推荐使用更灵活的patches字段替代,具体操作如下:
- 打开你的
kustomization.yaml文件 - 将原来的
patchesStrategicMerge字段替换为patches - 如果原来的补丁是文件形式,调整格式为对象数组:
# 旧写法 patchesStrategicMerge: - patch-file-1.yaml - patch-file-2.yaml # 新写法 patches: - path: patch-file-1.yaml - path: patch-file-2.yaml - 如果需要明确指定策略合并类型(针对支持strategic merge的资源),可以加上
type字段:patches: - path: patch-file.yaml type: strategic
内容的提问来源于stack exchange,提问作者Joysn
相关产品推荐
相关产品推荐

