当前位置: 首页 > 知识库问答 >
问题:

入口规则不起作用

臧彭亮
2023-03-14
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
    name: front-ingress
    namespace: {{ .Release.Namespace }}
    annotations:
        {{ if eq .Values.env "dev" }}
        kubernetes.io/ingress.global-static-ip-name: "test-ip"
        {{ else }}
        cloud.google.com/load-balancer-type: "Internal"
        {{ end }}
spec:
    rules:
    -   host: {{ .Values.domain }}
        http:
            paths:
            -   path: /
                backend:
                    serviceName: front-service
                    servicePort: 80
            -   path: /api/
                backend:
                    serviceName: backend-service
                    servicePort: 80

更新:

如果我使用注释kubernetes.io/ingres.class:“gce”和路径:/*和/api/*-site可以很好地工作。但是因为我使用全局静态IP,所以我不能为每个IP创建一个以上的入口。如果我使用kubernetes.io/ingres.class:“nginx”-site返回错误:default backend-404

共有1个答案

柳胜
2023-03-14

实际上可以使用相同的外部IP地址创建多个入口。您只需确保它们位于不同的主机(或主机名规则)下,这样路径就不会相互干扰。每个主机都表示nginx配置中的服务器{}块,具有唯一的server_name

Ingress1:

spec:
    rules:
    -   host: host1.domain1
        http:
            paths:
            -   path: /
                backend:
                    serviceName: front-service1
                    servicePort: 80
            -   path: /api/
                backend:
                    serviceName: backend-service1
                    servicePort: 80

Ingress2:

-   host: host2.domain2
        http:
            paths:
            -   path: /
                backend:
                    serviceName: front-service2
                    servicePort: 80
            -   path: /api/
                backend:
                    serviceName: backend-service2
                    servicePort: 80
 类似资料:
  • 我有一个Firestore集合,结构如下: 但是,当我试图保护集合以只允许上面的快照(而不是对集合中其他文档的请求)时,我的权限是不正确的。这是我尝试过的: 我也试过: 它似乎有效,但不允许我访问文档的子集合。我需要rules方法才能工作。 在我列出答案之前,我会给一些时间,以防更有经验的人有更好的解决方案。

  • 构造函数验证的代码: 如何测试对象: 我不知道为什么JavaScript版本与groovy版本的行为不同,我已经尝试更改了我能想到的所有组合,包括:、、、、和

  • 我正在使用Optaplanner申请员工排班。没有毅力,一切都很好。现在,我想添加Hibernate集成。我想从MySQL数据库中获取信息,并将其用作时间表输入。 在数据库中,我有位置和技能表。 员工数据、时隙和工作分配现在已在应用程序中硬编码。 我的域类,技能: 和职位: 不起作用的规则: 我认为数据库还可以,因为其中的数据以前是用这个应用程序创建的。此外,我还有另一个DRL规则正在运行。我没有

  • 问题内容: 我有一个嵌套的flexbox布局(使用bootstrapv4),可根据横向/纵向模式更改方向。第一层(由flexbox使用该属性放置)包含5个用作按钮的图标。我无法在这些图标上正常使用该属性。 如果我不使用属性,则图标将按照自然顺序进行布局;但是,如果我尝试使用该属性对其进行布局,则无法正常工作。在代码中,()应该是最后一个元素。不是。我可以通过更改源中的顺序来获得所需的顺序。但是,我

  • 我正在settings.xml文件中使用ListPreference。我想向用户显示一个列表,其中有3个选项可供选择。当用户选择设置中的一个选项时,我会得到以下错误: 这是ListPreference的代码: 下面是我用来填充条目的数组: 在我的onSharedPreferenceChanged中,我以以下方式使用这些值: 如果我为entryValues使用另一个字符串数组,它就会起作用。例如,如

  • 此问题与问题类似,但更多是围绕规则中可以配置的路径。 入口应该能够同时处理内部服务和外部服务。外部服务的URL应该类似于超文本传输协议://host_name: 80/es。当用户点击此url时,应该将其重定向到外部服务。 服务定义和入口规则的配置如下,但会导致404。我哪里做错了? 入口规则 服务和endpoint定义 当我尝试使用URL时,它会起作用http://host_name:80以及以