gpt4 book ai didi

kubernetes - 使用入口路由流量

转载 作者:行者123 更新时间:2023-12-02 12:15:18 24 4
gpt4 key购买 nike

一年前,我有一个可行的项目实例,该实例不再起作用。

它基本上与此处提到的nginx.ingress.kubernetes.io/rewrite-target属性的行为变化有关-https://github.com/kubernetes/ingress-nginx/tree/master/docs/examples/rewrite

我有3个应用程序,我想根据条件进行路由。

  • 到前端集群IP服务的/*
  • 到战斗舰集群IP服务的/api/battleship/*
  • /api/connect4/*以连接四集群IP服务

  • 一年前工作的例子是
    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
    name: ingress-service
    annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/rewrite-target: /
    spec:
    rules:
    - http:
    paths:
    - path: /
    backend:
    serviceName: frontend-cluster-ip-service
    servicePort: 3000
    - path: /api/connect4/
    backend:
    serviceName: connect-four-cluster-ip-service
    servicePort: 8080
    - path: /api/battleship/
    backend:
    serviceName: battleship-cluster-ip-service
    servicePort: 8080

    但是,这不再起作用了,只能路由到 /,即路由到frontend-cluster-ip-service。路由到其他服务失败,我得到404。

    然后我才知道 nginx.ingress.kubernetes.io/rewrite-target的变化。

    我尝试跟随
    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
    name: ingress-service
    annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/rewrite-target: /$2
    spec:
    rules:
    - http:
    paths:
    - path: /
    backend:
    serviceName: frontend-cluster-ip-service
    servicePort: 3000
    - path: /api/connect4(/|$)(.*)
    backend:
    serviceName: connect-four-cluster-ip-service
    servicePort: 8080
    - path: /api/battleship(/|$)(.*)
    backend:
    serviceName: battleship-cluster-ip-service
    servicePort: 8080


    现在到 connect-four-cluster-ip-servicebattleship-cluster-ip-service的路由有效,但是 frontend-cluster-ip-service无效,并且少量js文件加载显示错误:

    enter image description here

    最佳答案

    我也遇到了同样的问题,只是重写更为复杂(仅适用于一条不同的路径)。

    为每个路径创建多个Ingress对我来说很有效,但可能不是最干净的解决方案。

    我的入口定义:
    https://github.com/FORTH-ICS-INSPIRE/artemis/blob/master/artemis-chart/templates/ingresses.yaml

    关于kubernetes - 使用入口路由流量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57451382/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com