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
3 Réponses :
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 .
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.
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
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.