• K8S(rancher)Nginx Ingress Controller 负载均衡多路径问题解决方案


    背景


    1598255758387-695.png

    通过一个域名指向多个服务

    1. 二级路区分
    2. 类型tomcat部署方式

    问题


    1598255795393-359.png

    路径请求存在问题

    1. 不是理想中的请求路径

    解决方案


    网上资源

     
    1. 大部分文档写着
      1. nginx.ingress.kubernetes.io/rewrite-target=/
    2. 问题没得到解决
      1. 是按照二级路径区分转发到了服务上,但是所以的请求都是 / 根路径
      2. 1598255866965-809.png

    解决方案一

     

    使用域名前缀方案

    1. 微服务名称-项目名称-公司-com
    2. 通过域名直接解析到微服务
      1. 该请求路径直接是到微服务路径
        1. 注意: 不要设置 nginx.ingress.kubernetes.io/rewrite-target=/
    3. 1598255909238-230.png

    解决方案二

     

    请求路径截取方案

    1. 通过通配符的方式,设置占位符,截取指定路径Url
    2. 示例
      1. /d/(.*)   -- iptest服务路径
      2. nginx.ingress.kubernetes.io/rewrite-target=/$1
    3. 原理
      1. Nginx 路径重写功能原理
    4. 1598256025043-790.png

    配置方式截图

    1598256047099-606.png

     

    备注


    1. 一个问题可以有多个解决方案。
    2. 使用哪种解决方案取决自己实际情况。
    3. 推荐使用
      1. 只有一个服务暴露的可以使用方案一
      2. 集成模型系统可以使用方案一
      3. 一个中心(项目)下N那个服务,可以使用方案二
  • 相关阅读:
    python 爬虫 urllib模块 url编码处理
    python 爬虫 urllib模块 目录
    python 爬虫 urllib模块介绍
    python 爬虫 目录
    爬虫 介绍
    POJ 2533
    POJ 2531
    POJ 2524
    POJ 2505
    POJ 2521
  • 原文地址:https://www.cnblogs.com/atliwen/p/13554410.html
Copyright © 2020-2023  润新知