如果没有指定host,如何访问k8s入口



这个问题可能很傻,但我想消除我的疑虑。

从下面的示例中,我们可以使用指定的host访问这个入口。例如:访问此url(在浏览器/curl中)www.foo.bar.com/bar,将流量路由到"服务">

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-wildcard-host
spec:
rules:
- host: "foo.bar.com"
http:
paths:
- pathType: Prefix
path: "/bar"
backend:
service:
name: service1
port:
number: 80
#take from K8S Doc

如果没有像下面这样创建主机,我如何访问下面的入口?

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test-ing
spec:
rules:
- http:
paths:
- backend:
serviceName: service1
servicePort: 80

如果您提供host,那么所有与主机匹配的流量将被检查您的路径(这些都是给定的)。但是如果你不提供主机,那么入口将检查所有流量的路径。

例如,如果您设置host: "foo.bar.com",那么所有与foo.bar.com一起来的流量将被检查path: /testpath,但如果您使用以下yaml,那么所有类型的流量将被检查path: /testpath(无论是来自oka.bar.com还是其他)

你可以这样使用:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: minimal-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /testpath
pathType: Prefix
backend:
service:
name: test
port:
number: 80

最新更新