【03】Istio Gateway示例配置

3.1 开放kiali至集群外部

  • 首先将istio-inressateway暴露集群外部;

    在node02的ens33网卡上面有多余的ip地址,将该地址绑定在igressgateway的svc 上面。

    sh 复制代码
    kubectl edit svc istio-ingressgateway -n istio-system
  • 定义kiali的ingress gateway的资源配置清单

    yaml 复制代码
    apiVersion: networking.istio.io/v1beta1
    kind: Gateway
    metadata:
      name: kiali-gateway
      namespace: istio-system
    spec:
      selector:
        app: istio-ingressgateway
      servers:
      - hosts:
        - "kiali.icloud2native.com"
        port:
          name: http-kiali
          number: 80
          protocol: HTTP
    ---
  • 定义kiali的VirtualService清单

    yaml 复制代码
    apiVersion: networking.istio.io/v1beta1
    kind: VirtualService
    metadata:
      name: kiali-vs
      namespace: istio-system
    spec:
      gateways:
      - kiali-gateway
      hosts:
      - "kiali.icloud2native.com"
      http:
      - match:
        - uri:
            prefix: /
        route:
        - destination:
            host: kiali
            port:
              number: 20001
  • 定义kiali的DestinationRule清单

    yaml 复制代码
    apiVersion: networking.istio.io/v1beta1
    kind: DestinationRule
    metadata:
      name: kiali-dr
      namespace: istio-system
    spec:
      host: kiali
      trafficPolicy:
        tls:
          mode: DISABLE
  • 本地解析,后访问kiali

3.2 开放grafana至集群外

  • 定义grafana的gateway

    yaml 复制代码
    apiVersion: networking.istio.io/v1beta1
    kind: Gateway
    metadata:
      name: granafa-gw
      namespace: istio-system
    spec:
      selector:
        app: istio-ingressgateway
      servers:
      - port:
          name: http-80
          number: 80
          protocol: HTTP
        hosts:
        - "grafana.icloud2native.com"
    ---
  • 定义grafana的virtualservice

    yaml 复制代码
    apiVersion: networking.istio.io/v1beta1
    kind: VirtualService
    metadata:
      name: grafana-vs
      namespace: istio-system
    spec:
      gateways:
      - granafa-gw
      hosts:
      - "grafana.icloud2native.com"
      http:
      - match:
        - uri:
            prefix: /
        route:
        - destination:
            host: grafana
            port:
              number: 3000
  • 定义grafana的dr

    yaml 复制代码
    apiVersion: networking.istio.io/v1beta1
    kind: DestinationRule
    metadata:
      name: grafana
      namespace: istio-system
    spec:
      host: grafana
      trafficPolicy:
        tls:
          mode: DISABLE
    ---
  • 访问grafana

3.3 开放prometheus至集群外

  • prometheus的gateway,vs,dr资源配置清单

    yaml 复制代码
    apiVersion: networking.istio.io/v1beta1
    kind: Gateway
    metadata:
      name: prometheus-gateway
      namespace: istio-system
    spec:
      selector:
        app: istio-ingressgateway
      servers:
      - port:
          number: 80
          name: http
          protocol: HTTP
        hosts:
        - "prometheus.icloud2native.com"
    ---
    apiVersion: networking.istio.io/v1beta1
    kind: VirtualService
    metadata:
      name: prometheus-virtualservice
      namespace: istio-system
    spec:
      hosts:
      - "prometheus.icloud2native.com"
      gateways:
      - prometheus-gateway
      http:
      - match:
        - uri:
            prefix: /
        route:
        - destination:
            host: prometheus
            port:
              number: 9090
    ---
    apiVersion: networking.istio.io/v1beta1
    kind: DestinationRule
    metadata:
      name: prometheus
      namespace: istio-system
    spec:
      host: prometheus
      trafficPolicy:
        tls:
          mode: DISABLE
    ---
  • 访问prometheus

3.4 开放trace至集群外

  • trace的gateway,vs,dr资源配置清单

    yaml 复制代码
    apiVersion: networking.istio.io/v1beta1
    kind: Gateway
    metadata:
      name: tracing-gateway
      namespace: istio-system
    spec:
      selector:
        app: istio-ingressgateway
      servers:
      - port:
          number: 80
          name: http
          protocol: HTTP
        hosts:
        - "tracing.icloud2native.com"
    ---
    apiVersion: networking.istio.io/v1beta1
    kind: VirtualService
    metadata:
      name: tracing-virtualservice
      namespace: istio-system
    spec:
      hosts:
      - "tracing.icloud2native.com"
      gateways:
      - tracing-gateway
      http:
      - match:
        - uri:
            prefix: /
        route:
        - destination:
            host: tracing
            port:
              number: 80
    ---
    apiVersion: networking.istio.io/v1beta1
    kind: DestinationRule
    metadata:
      name: tracing-dr
      namespace: istio-system
    spec:
      host: tracing
      trafficPolicy:
        tls:
          mode: DISABLE
    ---
  • 访问Jaeger

相关推荐
一只小姜丝3321 小时前
解决各大浏览器中http地址无权限调用麦克风摄像头问题
网络·vue.js·网络协议·http
Hacker_xingchen8 小时前
网络安全扫描--基础篇
网络·安全·web安全
hgdlip9 小时前
如果更换ip地址会怎么样?网络ip地址怎么更换
网络·网络协议·tcp/ip
心随_风动9 小时前
网络七层模型—OSI参考模型详解
网络
桃酥40310 小时前
1.介绍一下TCP/IP模型和OSI模型的区别【中高频】
网络
Mr_wilson_liu10 小时前
ssh被暴力访问了,怎么拦截ip
网络·tcp/ip·ssh
北京耐用通信12 小时前
半导体晶圆精控:ethercat转profient网关数据提升制造精度
网络·制造·ethercat·ethercat总线
Ljw...13 小时前
HTTP
linux·网络·网络协议·http
小杨小杨113 小时前
RIP-AV:使用上下文感知网络进行视网膜动脉/静脉分割的联合代表性实例预训练
网络
追风赶月、13 小时前
【网络】HTTPS协议原理
网络·网络协议·https