没有 kind"gateway" 和 "virtualservice" 的匹配项

No matches for kind"gateway" and "virtualservice"

我正在使用 Docker 具有 Kubernetes 1.21.3 的桌面版本 3.6.0。

我正在按照本教程开始使用 Istio

https://istio.io/latest/docs/setup/getting-started/

Istio 已按照说明正确安装。

现在每当我尝试应用 Istio 配置时

通过发出命令 kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml

我收到以下错误

unable to recognize "samples/bookinfo/networking/bookinfo-gateway.yaml": no matches for kind "Gateway" in version "networking.istio.io/v1alpha3"
unable to recognize "samples/bookinfo/networking/bookinfo-gateway.yaml": no matches for kind "VirtualService" in version "networking.istio.io/v1alpha3"

上网查了一下,发现Gateway和VirtualService资源都不见了。

如果我执行 kubectl get crd 我找不到任何资源

bookinfo 的内容-gatway.yaml

    apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: bookinfo-gateway
spec:
  selector:
    istio: ingressgateway # use istio default controller
  servers:
  - port:
      number: 80
      name: http
      protocol: HTTP
    hosts:
    - "*"
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: bookinfo
spec:
  hosts:
  - "*"
  gateways:
  - bookinfo-gateway
  http:
  - match:
    - uri:
        exact: /productpage
    - uri:
        prefix: /static
    - uri:
        exact: /login
    - uri:
        exact: /logout
    - uri:
        prefix: /api/v1/products
    route:
    - destination:
        host: productpage
        port:
          number: 9080

istio 的 CRD 应该作为 istioctl 安装过程的一部分安装,如果您没有它们,我建议重新运行安装。

>>> ~/.istioctl/bin/istioctl install --set profile=demo -y
✔ Istio core installed
✔ Istiod installed
✔ Egress gateways installed
✔ Ingress gateways installed
✔ Installation complete

kubectl get po -n istio-system 应该是这样的

>>> kubectl get po -n istio-system
NAME                                   READY   STATUS    RESTARTS   AGE
istio-egressgateway-7ddb45fcdf-ctnp5   1/1     Running   0          3m20s
istio-ingressgateway-f7cdcd7dc-zdqhg   1/1     Running   0          3m20s
istiod-788ff675dd-9p75l                1/1     Running   0          3m32s

否则你的初始安装某处出错了。