【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

相关推荐
郝学胜-神的一滴4 小时前
深入解析Python字典的继承关系:从abc模块看设计之美
网络·数据结构·python·程序人生
绵绵细雨中的乡音4 小时前
深入理解 ET 与 LT 模式及其在 Reactor 模型中的应用
服务器·网络·php
暖馒5 小时前
Modbus应用层协议的深度剖析
网络·网络协议·c#·wpf·智能硬件
yunfuuwqi7 小时前
OpenClaw✅真·喂饭级教程:2026年OpenClaw(原Moltbot)一键部署+接入飞书最佳实践
运维·服务器·网络·人工智能·飞书·京东云
迎仔7 小时前
C-算力中心网络隔离实施方法:怎么搞?
运维·网络
代码游侠7 小时前
C语言核心概念复习——网络协议与TCP/IP
linux·运维·服务器·网络·算法
枷锁—sha8 小时前
【SRC】SQL注入WAF 绕过应对策略(二)
网络·数据库·python·sql·安全·网络安全
Zach_yuan8 小时前
深入浅出 JSONCpp
linux·服务器·网络·c++
迎仔10 小时前
B-算力中心网络隔离的必要性:为什么必须隔离?
网络
野指针YZZ11 小时前
一键配置RK3588网络与SSH远程连接
网络·ssh·rk3588