配置Ingress资源清单

1.编写资源清单

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@Computer02 script]# vim ingress-kubernetes-dashboard.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: dashboard
annotations:
kubernetes.io/ingress.class: "nginx" # 被nginx所解析的ingress资源
ingress.kubernetes.io/ssl-passthrough: "true" # 此处不是做http代理而是做TCP代理,由于dashboard是ssl会话,所以此处不做ssl卸载直接转给后端dashboard
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
nginx.ingress.kubernetes.io/rewrite-target: /$2 # 此处对/dashboard/做rewrite,$2表示path后面的(.*),表示将/dashboard(/|$)(.*)转发到后端后都重写为以/(.*)为起始的,把/dashboard/前缀去除。
namespace: kubernetes-dashboard
spec:
rules:
- http:
paths:
- path: /dashboard(/|$)(.*)
backend:
serviceName: kubernetes-dashboard
servicePort: 443

2.应用配置清单

1
2
3
root@k8s-master01:~/yaml/chapter13# kubectl  apply -f ingress-kubernetes-dashboard.yaml
Warning: extensions/v1beta1 Ingress is deprecated in v1.14+, unavailable in v1.22+; use networking.k8s.io/v1 Ingress
ingress.extensions/dashboard created

3.在浏览器中测试访问