安装Knative Serving时遇autoscaling/v2版本HorizontalPodAutoscaler匹配失败
解决Knative Serving安装时HPA API版本不兼容问题
问题原因
你的Kubernetes版本是1.21.14,该版本中HorizontalPodAutoscaler的稳定版autoscaling/v2尚未正式发布(K8s 1.22才将其升级为稳定版),而你使用的Knative Serving v1.9.2的资源文件中使用了autoscaling/v2版本的HPA,导致集群无法识别该API版本,从而报错。
解决方案
提供两种可行的解决方法:
方法一:更换兼容的Knative Serving版本
Knative Serving v1.8.x系列支持Kubernetes 1.21-1.23,你可以切换到该版本进行安装:
- 执行对应版本的安装命令:
kubectl apply -f https://github.com/knative/serving/releases/download/knative-v1.8.4/serving-core.yaml - 后续安装其他Knative组件(如网络插件)时,也请使用v1.8.4版本的资源文件,保证全组件版本兼容。
方法二:修改资源文件的HPA API版本后本地应用
如果坚持使用Knative Serving v1.9.2,可以手动修改资源文件中的API版本:
- 下载资源文件到本地:
wget https://github.com/knative/serving/releases/download/knative-v1.9.2/serving-core.yaml - 打开文件,将所有
apiVersion: autoscaling/v2的行替换为apiVersion: autoscaling/v2beta2(K8s 1.21支持该beta版本) - 应用修改后的文件:
kubectl apply -f serving-core.yaml
注意事项
- 若选择方法二,后续安装Knative的其他组件时,若遇到类似API版本不兼容的报错,需按同样逻辑修改对应资源文件。
- 建议优先选择方法一,版本匹配能避免后续更多兼容性问题。
内容的提问来源于stack exchange,提问作者Lyudmila Sun
相关产品推荐
相关产品推荐

