将bookinfo部署到另一个命名空间,访问入口网关返回404.如何为非默认命名空间配置虚拟服务?

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

我使用带有安全功能的istio 1.0.2版本(istio-demo-auth.yaml),k8s版本是v1.9.1。

  • 按照bookinfo的istio.io示例。成功的。 curl -o /dev/null -s -w "%{http_code}\n" http://ingressip:port/productpage return 200
  • 删除bookinfo应用程序,然后更改yaml文件,在(多租户)命名空间中创建所有应用程序。 一个。将bookinfo部署到多租户命名空间: kubectl apply -f <(istioctl kube-inject -f samples/bookinfo/platform/kube/bookinfo-multitenancy.yaml) 湾为多租户应用程序定义入口网关: kubectl apply -f samples/bookinfo/networking/bookinfo-gateway-multitenancy.yaml apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: bookinfo namespace: multitenancy spec: hosts: - "*" gateways: - bookinfo-gateway http: - match: - uri: exact: /productpage - uri: exact: /login - uri: exact: /logout - uri: prefix: /api/v1/products route: - destination: host: productpage port: number: 9080 C。确认该应用正在运行: curl -o /dev/null -s -w "%{http_code}\n" http://ingressip:port/productpage Return 404
istio
1个回答
1
投票

在目的地主机中指定:productpage.multitenancy.svc.cluster.local。由于网关位于default命名空间(我假设你使用标准bookinfo中的bookinfo-gateway Gateway定义),所以也将VirtualService放在default命名空间中。

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