2
votes

créer VirtualService pour kiali, traçage, grafana

J'essaye d'exposer kiali sur ma passerelle par défaut. J'ai d'autres services fonctionnant pour les applications dans l'espace de noms par défaut, mais je n'ai pas été en mesure d'acheminer le trafic vers quoi que ce soit dans l'espace de noms istio

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: kiali
  namespace: default
spec:
  hosts:
    - kiali.dev.example.com
  gateways:
    - gateway
  http:
    - route:
        - destination:
            host: kiali.istio-system.svc.cluster.local
            port:
              number: 20001

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: gateway
spec:
  selector:
    istio: ingressgateway
  servers:
    - port:
        number: 80
        name: http
        protocol: HTTP
      hosts:
        - '*'
      tls:
        httpsRedirect: true
    - port:
        number: 443
        name: https
        protocol: HTTPS
      hosts:
        - '*'
      tls:
        mode: SIMPLE
        privateKey: /etc/istio/ingressgateway-certs/tls.key
        serverCertificate: /etc/istio/ingressgateway-certs/tls.crt


0 commentaires

3 Réponses :


0
votes

Vous devez définir une passerelle d'entrée et vous assurer que les hôtes de la passerelle correspondent aux hôtes du service virtuel. Spécifiez également le port de la destination. Consultez la tâche Contrôler le trafic entrant .


2 commentaires

J'ai ma passerelle définie, je vais l'ajouter. De plus, la documentation indique que si vous n'avez qu'un seul port sur le service, vous n'avez pas à le définir. avec cela dit, je l'ai réglé manuellement et toujours pas de travail.


J'ai mis à jour ma réponse: et assurez-vous que les hôtes de la passerelle correspondent aux hôtes du service virtuel.



3
votes

Le problème était que mTLS était activé et que kiali ne possède pas de side-car et ne peut donc pas être validé par mTLS. la solution était d'ajouter une règle de destination désactivant mTLS pour celui-ci.

apiVersion: 'networking.istio.io/v1alpha3'
kind: DestinationRule
metadata:
  name: kiali
  namespace: istio-system
spec:
  host: kiali.istio-system.svc.cluster.local
  trafficPolicy:
    tls:
      mode: DISABLE


0 commentaires

0
votes

Pour moi, cela a fonctionné!

J'ai couru

---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: kiali
  namespace: istio-system
spec:
  gateways: 
    - istio-system/my-gateway
  hosts: 
    - 'mydomain.com'
  http:
  - match:
    - uri:
        prefix: /kiali/
    route:
    - destination:
        host: kiali.istio-system.svc.cluster.local
        port:
          number: 20001
      weight: 100
---
apiVersion: 'networking.istio.io/v1alpha3'
kind: DestinationRule
metadata:
  name: kiali
  namespace: istio-system
spec:
  host: kiali.istio-system.svc.cluster.local
  trafficPolicy:
    tls:
      mode: SIMPLE
---

pour obtenir le vidage de toutes les routes. La route kiali a été corrompue pour une raison quelconque. J'ai supprimé le service virtuel et l'ai créé à nouveau, cela l'a corrigé.

istioctl proxy-config routes istio-ingressgateway-866d7949c6-68tt4 -n istio-system -o json > ./routes.json

Remarque: les hôtes devaient être définis, '*' ne fonctionnait pas pour une raison.


0 commentaires