【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

相关推荐
kaisun6442 分钟前
Docker 构建网络问题排查
网络·docker·eureka
雪度娃娃1 小时前
存储器层次结构——磁盘硬盘存储
服务器·网络·数据库·计算机组成原理
YUANQIANG20241 小时前
通信领域进行蒙特卡洛仿真的思路和步骤
网络
eam0511231 小时前
OSPF综合实验
网络
QQ15401828562 小时前
USB转千兆以太网芯片方案
网络·pt153s·千兆以太网芯片·usb转以太网·千兆网口芯片
曦夜日长2 小时前
Linux系统篇,进程概念(一):计算机体系、操作系统的认识、程序的加载过程
linux·运维·网络
似水এ᭄往昔2 小时前
【Linux网络编程】--Socket编程预备
linux·服务器·网络
笨蛋不要掉眼泪3 小时前
Java并发编程 :深入剖析LinkedBlockingQueue
java·开发语言·网络·并发
杨浦老苏3 小时前
网络连接实时可视化利器TapMap
网络·docker·可视化·监控·群晖
m0_738120723 小时前
渗透测试基础——黑盒测试下的Web漏洞挖掘与利用解析(一)
服务器·前端·网络·安全·php