生產(chǎn)環(huán)境中對外的服務(wù)一般需要配置https服務(wù),使用ingress也可以很方面的添加https的證書。默認(rèn)情況下,如果為該 Ingress 啟用了 TLS,控制器會使用 308 永久重定向響應(yīng)將 HTTP 客戶端重定向到 HTTPS 端口 443。( Ingress 里配置了 https 證書的話,默認(rèn)就一定會走 https)。即默認(rèn)情況下,如果在ingress 規(guī)則中配置了tls,所有http的流量都會重定向到https。在一些特殊場景下,有請求地址是http訪問就走h(yuǎn)ttp,請求地址是https訪問就走h(yuǎn)ttps。
1.ingress的http規(guī)則
---
apiVersion: networking.k8s.io/v1beta1 #版本低于1.19的使用
kind: Ingress
metadata:
name: test-ingress
spec:
rules:
- host: www.test.com
http:
paths:
- path:
backend:
serviceName: test-svc
servicePort: 8080
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: test-ingress
spec:
rules:
- host: www.test.com
http:
paths:
- path:
backend:
service:
name: test-svc
port:
number:8080
apiVersion: networking.k8s.io/v1beta1和apiVersion: networking.k8s.io/v1也就backend的地方不一樣
2.https的規(guī)則
---
apiVersion: networking.k8s.io/v1beta1 #版本低于1.19的使用
kind: Ingress
metadata:
name: test-ingress
spec:
tls:
- hosts:
- www.test.com
secretName: wzlinux-secret
rules:
- host: www.test.com
http:
paths:
- path:
backend:
serviceName: test-svc
servicePort: 8080
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: test-ingress
spec:
tls:
- hosts:
- www.test.com
secretName: wzlinux-secret
rules:
- host: www.test.com
http:
paths:
- path:
backend:
service:
name: test-svc
port:
number:8080
http和https規(guī)則只是添加tls規(guī)則,hosts是證書所授權(quán)的域名列表,secretName是證書的secret的名字。
3.實(shí)現(xiàn)http訪問不強(qiáng)制跳轉(zhuǎn)到https文章來源:http://www.zghlxwxcb.cn/news/detail-615373.html
---
apiVersion: networking.k8s.io/v1beta1 #版本低于1.19的使用
kind: Ingress
metadata:
name: test-ingress
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "false"
spec:
tls:
- hosts:
- www.test.com
secretName: test-secret
rules:
- host: www.test.com
http:
paths:
- path:
backend:
serviceName: test-svc
servicePort: 8080
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: test-ingress
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "false"
spec:
tls:
- hosts:
- www.test.com
secretName: test-secret
rules:
- host: www.test.com
http:
paths:
- path:
backend:
service:
name: test-svc
port:
number:8080
每個應(yīng)用服務(wù)的Ingress.規(guī)則中,添加注解nginx.ingress.kubernetes.io/ssl-redirect: "false"
?;蛘咴谌峙渲弥校褂萌纸?code>ssl-redirect: "false"參數(shù)。文章來源地址http://www.zghlxwxcb.cn/news/detail-615373.html
到了這里,關(guān)于kubernetes的ingress實(shí)現(xiàn)同時支持http和https的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!