【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

相关推荐
CHENKONG_CK8 小时前
晨控CK-FR102ANS-EIP与基恩士KVX520系列PLC配置EtherNet/IP通讯连接手册
网络
草根站起来9 小时前
“双算法SSL证书”伪方案、国产SSL证书营销话术与等保绑定乱象批判
网络·网络协议·ssl
Bobolink_10 小时前
跨境业务网络环境评估,“干净、一致、独享”三个关键指标
开发语言·网络·php·跨境网络·网络环境
humors22110 小时前
【分享】火绒恶意网址自定义规则,根据互联网应急中心部分威胁预警恶意代码制作
网络·安全·规则·火绒安全·恶意网址·应急中心
广州灵眸科技有限公司11 小时前
瑞芯微RV1126B开发板(EASY-EAI-PI2) INI文件操作
java·前端·javascript·网络·人工智能
星恒讯工业路由器13 小时前
VLAN在工业网络中为何越来越重要
网络·信息与通信·vlan·交换机·工业网络·网络隔离
mashirro13 小时前
gateway服启动输出台显示
gateway
rcms1527026921813 小时前
HITEK A1052100N-01 以太网端口模块
网络
KaMeidebaby13 小时前
卡梅德生物技术快报|抗体合成:多肽抗体合成工程化方案:Nsp2 保守肽多抗制备与多维度验证
前端·网络·数据库·人工智能·算法
her_heart15 小时前
把 ChatGPT 5.6 放进需求评审和测试设计之后,我反而减少了“一次成稿”的期待
网络·人工智能·网络协议·chatgpt·测试用例