【发布时间】:2018-12-05 06:10:31
【问题描述】:
您好,我目前正在尝试使用 google kubernetes 引擎部署我的应用程序。我将前端和后端服务公开为 NodePort,创建了一个名为“ip”的全局静态 IP 地址。我创建了一个入口 ressource 。 在我添加路径规则之前,入口资源工作正常。
这是我的入口资源
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress
annotations:
kubernetes.io/ingress.global-static-ip-name: ip
labels:
app: myapp
part: ingress
spec:
rules:
- http:
paths:
- path: /*
backend:
serviceName: backapp
servicePort: 9000
- path: /front/*
backend:
serviceName: frontapp
servicePort: 3000
这是我的服务 返回:
api版本:v1 种类:服务 元数据:
labels:
app: myapp
part: back
name: backapp
namespace: default
spec:
clusterIP: 10.*.*.*
externalTrafficPolicy: Cluster
ports:
- nodePort: 30646
port: 9000
protocol: TCP
targetPort: 9000
selector:
app: myapp
part: back
sessionAffinity: None
type: NodePort
正面:
apiVersion: v1
kind: Service
metadata:
labels:
app: myapp
part: front
name: frontapp
namespace: default
spec:
clusterIP: 10.*.*.*
externalTrafficPolicy: Cluster
ports:
- nodePort: 31609
port: 3000
protocol: TCP
targetPort: 3000
selector:
app: myapp
part: front
sessionAffinity: None
type: NodePort
每次我尝试去 http://external-ingress-ip/front
http://external-ingress-ip/front/home
我得到的只是default backend - 404
所以我的问题是:我的配置有什么问题,添加路径时发生了什么变化?
【问题讨论】:
-
尝试从路径和正斜杠中删除
*符号,会发生什么? -
感谢您的回复。我试过没有 * 和没有 * 和正斜杠。它没有工作,仍然是同样的问题
-
能否也添加前台服务?
-
我编辑了我的帖子以包括前台服务。事实上,我将资源更改为 - http:paths: - path: /* backend: serviceName: frontapp servicePort: 3000 - path: /back/* backend: serviceName: backapp servicePort: 9000 映射到的服务 (/* 工作正常(我每次都尝试将这两个服务映射到 /* 并且每次它工作时,但映射到 external-ingress-ip/back 的另一个服务返回 404 错误)
-
你是如何提出请求的?
标签: kubernetes kubernetes-ingress