为kiali,跟踪,grafana创建VirtualService

时间:2019-01-29 22:16:05

标签: istio

我正在尝试在我的默认网关上公开kiali。我还有其他服务可用于默认名称空间中的应用程序,但无法将流量路由到istio名称空间中的任何内容

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
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

3 个答案:

答案 0 :(得分:0)

您应该定义一个入口网关,并确保网关中的主机与虚拟服务中的主机匹配。还要指定目标端口。请参阅Control Ingress Traffic任务。

答案 1 :(得分:0)

问题是我启用了mTLS,而kiali没有附带工具,因此无法通过mTLS进行验证。解决方案是添加目标规则,从而禁用该规则。

library("dplyr")
people %>%
    summarize_if(is.numeric, sum, na.rm=TRUE)

答案 2 :(得分:0)

这对我来说很有效!

我跑了

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

获取所有路由的转储。基里亚利路线由于某种原因被破坏。我删除了虚拟服务,然后再次创建它,然后对其进行了修复。

---
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
---

请注意:需要设置主机,'*'由于某些原因无法正常工作。