【发布时间】:2021-10-24 16:08:05
【问题描述】:
我有两个 pod,每个都有一个 LoadBalancer svc。每个服务的 IP 地址都在工作。
我的第一个服务是:
apiVersion: v1
kind: Service
metadata:
name: hello-world-1
spec:
type: LoadBalancer
selector:
greeting: hello
version: one
ports:
- protocol: TCP
port: 60000
targetPort: 50000
我的第二个服务是:
apiVersion: v1
kind: Service
metadata:
name: hello-world-2
spec:
type: LoadBalancer
selector:
greeting: hello
version: two
ports:
- protocol: TCP
port: 5000
targetPort: 5000
我的入口是:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-ingress
annotations:
kubernetes.io/ingress.class: gce
spec:
defaultBackend:
service:
name: hello-world-1
port:
number: 60000
rules:
- http:
paths:
- path: /
pathType: ImplementationSpecific
backend:
service:
name: hello-world-1
port:
number: 60000
- path: /v2
pathType: ImplementationSpecific
backend:
service:
name: hello-world-2
port:
number: 5000
只有第一条路线以这种方式工作,当我放的时候
<MY_IP>/v2
在我得到的网址栏中
Cannot GET /v2
如何配置入口,以便在未指定子路径时命中 / 路由,在指定 /v2 时命中 /v2 路由?
如果我将第一条路线更改为
backend:
service:
name: hello-world-2
port:
number: 5000
并摆脱它工作的第二个。
但如果我将路由更改为 /v2,它会停止工作吗?
***** 编辑 *****
按照这里的教程ingress tut 我尝试更改 yaml,以便不同的路由位于不同的端口上,这会破坏它。有人知道为什么吗?
【问题讨论】:
标签: kubernetes google-kubernetes-engine