Разверните bookinfo в другое пространство имен, верните входной шлюз доступа 404. Как настроить virtualservice для пространства имен не по умолчанию? - PullRequest
0 голосов
/ 01 ноября 2018

Я использую версия istio 1.0.2 с функцией безопасности (istio-demo-auth.yaml) и версия k8s v1.9.1.

  • Следуйте примеру istio.io для bookinfo. Успешное.

    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
    

    с. подтвердите, что приложение работает:

    curl -o /dev/null -s -w "%{http_code}\n" http://ingressip:port/productpage 
    
    Return 404
    

1 Ответ

0 голосов
/ 01 ноября 2018

Укажите хост назначения: productpage.multitenancy.svc.cluster.local. Поскольку шлюз находится в пространстве имен default (я полагаю, что вы используете определение bookinfo-gateway Gateway из стандартного bookinfo), поместите VirtualService в пространство имен default.

...