ingress 多域名
1. 沒有指定host
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: test-ingress
spec:
defaultBackend:
service:
name: test
port:
number: 80
默認這種,沒有指定host ,所以訪問ip 即可,適合單ingress應用。
NAME CLASS HOSTS ADDRESS PORTS AGE
test-ingress external-lb * 203.0.113.123 80 59s
或者是下面那種通過path來區分請求。
2 通過path來區分:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: simple-fanout-example
spec:
rules:
- host: foo.bar.com
http:
paths:
- path: /foo
pathType: Prefix
backend:
service:
name: service1
port:
number: 4200
- path: /bar
pathType: Prefix
backend:
service:
name: service2
port:
number: 8080
如果是多域名,那么需要指定host
3. 多域名,指定host
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: name-virtual-host-ingress
spec:
rules:
- host: foo.bar.com
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: service1
port:
number: 80
- host: bar.foo.com
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: service2
port:
number: 80
4. 小tips
變更完了以后最好用chrome來測試,或者是firefox的隱私窗口,否則緩存會導致怪怪的問題。
詳見官網: https://kubernetes.io/docs/concepts/services-networking/ingress/