kubernetes - 安装 knative 服务时,版本 "HorizontalPodAutoscaler"中没有匹配类型 "autoscaling/v2"

标签 kubernetes knative horizontalpodautoscaler

我关注了official instruction在自建的k8s集群上安装knative services。但是当运行第二行时

kubectl apply -f https://github.com/knative/serving/releases/download/knative-v1.9.2/serving-core.yaml

我得到了

unable to recognize "https://github.com/knative/serving/releases/download/knative-v1.9.2/serving-core.yaml": no matches for kind "HorizontalPodAutoscaler" in version "autoscaling/v2"
unable to recognize "https://github.com/knative/serving/releases/download/knative-v1.9.2/serving-core.yaml": no matches for kind "HorizontalPodAutoscaler" in version "autoscaling/v2"

我搜索了类似的错误,但发现一些有用的东西。

我的 k8s 集群构建在两台 virtualbox 虚拟机上,一台作为主节点,一台作为工作节点。两者都具有:

  • Ubuntu 22.04
  • docker 版本 20.10
  • k8s 版本 1.21.14

这是我运行第一行后获得的自定义资源。

$ kubectl apply -f https://github.com/knative/serving/releases/download/knative-v1.9.2/serving-crds.yaml
customresourcedefinition.apiextensions.k8s.io/certificates.networking.internal.knative.dev created
customresourcedefinition.apiextensions.k8s.io/configurations.serving.knative.dev created
customresourcedefinition.apiextensions.k8s.io/clusterdomainclaims.networking.internal.knative.dev created
customresourcedefinition.apiextensions.k8s.io/domainmappings.serving.knative.dev created
customresourcedefinition.apiextensions.k8s.io/ingresses.networking.internal.knative.dev created
customresourcedefinition.apiextensions.k8s.io/metrics.autoscaling.internal.knative.dev created
customresourcedefinition.apiextensions.k8s.io/podautoscalers.autoscaling.internal.knative.dev created
customresourcedefinition.apiextensions.k8s.io/revisions.serving.knative.dev created
customresourcedefinition.apiextensions.k8s.io/routes.serving.knative.dev created
customresourcedefinition.apiextensions.k8s.io/serverlessservices.networking.internal.knative.dev created
customresourcedefinition.apiextensions.k8s.io/services.serving.knative.dev created
customresourcedefinition.apiextensions.k8s.io/images.caching.internal.knative.dev created
$ kubectl get crd
NAME                                                  CREATED AT
certificates.networking.internal.knative.dev          2023-03-03T01:09:49Z
clusterdomainclaims.networking.internal.knative.dev   2023-03-03T01:09:49Z
configurations.serving.knative.dev                    2023-03-03T01:09:49Z
domainmappings.serving.knative.dev                    2023-03-03T01:09:49Z
images.caching.internal.knative.dev                   2023-03-03T01:09:50Z
ingresses.networking.internal.knative.dev             2023-03-03T01:09:49Z
metrics.autoscaling.internal.knative.dev              2023-03-03T01:09:50Z
podautoscalers.autoscaling.internal.knative.dev       2023-03-03T01:09:50Z
revisions.serving.knative.dev                         2023-03-03T01:09:50Z
routes.serving.knative.dev                            2023-03-03T01:09:50Z
serverlessservices.networking.internal.knative.dev    2023-03-03T01:09:50Z
services.serving.knative.dev                          2023-03-03T01:09:50Z

我所做的就是这两行命令

$ kubectl apply -f https://github.com/knative/serving/releases/download/knative-v1.9.2/serving-crds.yaml
$ kubectl apply -f https://github.com/knative/serving/releases/download/knative-v1.9.2/serving-core.yaml

我是 k8s 自定义资源和 knative 的新手。预先感谢您的帮助。

最佳答案

我相信 Knative 1.9 需要 Kubernetes 1.23 或更高版本。去年左右发生的变化之一是删除了 v2beta2 自动缩放 API 并替换为 v2 API。我相信新的 API 已出现在 Kubernetes 1.22 中,但 Knative 1.9 已使用截至 1 月份的社区支持版本进行了测试,其中包括 1.26、1.25、1.24,可能还有 1.23。

关于kubernetes - 安装 knative 服务时,版本 "HorizontalPodAutoscaler"中没有匹配类型 "autoscaling/v2",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75624217/

相关文章:

Kubernetes 指标服务器不提供所有指标或扩展 HPA

kubernetes - ~/.kube/config 中的 "preferences: {}"是做什么的?

python - 如何使用 Kubernetes python 客户端库部署 Knative 服务

适用于 Google Cloud Functions 的 Dockerfile

AKS 上的 Kubernetes HPA 失败,错误为 'missing request for cpu'

docker - 如何在 Kubernetes 上部署 Elasticsearch?

kubernetes - 我如何在 GKE 中私下转发 cqlsh 的连接

kubernetes - 与Kubernetes主API的Kube代理交互:config-sync-period

kubernetes - 访问 Cloud Run on GKE 服务的奇怪方式