尝试将 Istio VirtualService 应用于 EKS 集群时出现“没有匹配类型“VirtualService””,但它就在那里

问题描述 投票:0回答:1

我有两个 AWS EKS Kubernetes 集群;在这两个中,我都尝试设置 Istio 将流量从集群外部路由到集群内的服务。

流程是网络负载均衡器 -> Istio Gateway -> Istio VirtualService

集群 A 运行良好。集群 B 在尝试创建 VirtualService 时遇到错误。是:

error: resource mapping not found for name: "service" namespace: "" from "my/def.yaml": no matches for kind VirtualService in version "networking.istio.io.v1alpha3" ensure CRDs are installed first

如果我执行

kubectl get crd
,则两个集群具有相同数量的条目,包括
virtualservices.networking.istio.io
。如果我这样做
kubectl describe crd virtualservices.networking.istio.io
我会得到一个很长的输出:

Spec:
  Conversion:
    Strategy:  None
  Group:       networking.istio.io
  Names:
    Categories:
      istio-io
      networking-istio-io
    Kind:       VirtualService
    List Kind:  VirtualServiceList
    Plural:     virtualservices
    Short Names:
      vs
    Singular:  virtualservice
  Scope:       Namespaced

两个集群都通过应用 https://istio-release.storage.googleapis.com/charts 中的 3 个 Helm 图表安装了 Istio,全部为 v1.17.3:

  • 基地
  • istiod
  • 网关

什么可能导致集群 B 无法应用 VirtualService,听起来像是缺少 CRD,但 CRD 似乎确实存在?

istio
1个回答
0
投票

定义中有拼写错误。

apiVersion: networking.istio.io.v1alpha3

应该是

apiVersion: networking.istio.io/v1alpha3

© www.soinside.com 2019 - 2024. All rights reserved.