k8s的ingress使用
生活随笔
收集整理的這篇文章主要介紹了
k8s的ingress使用
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
ingress
可以配置一個入口來提供k8s上service從外部來訪問的url、負(fù)載平衡流量、終止SSL和提供基于名稱的虛擬主機。
?
配置ingress的yaml:
要求域名解析無誤
要求service對應(yīng)的pod正常
?
一、test1.domain.com ? -->? service1:8080
apiVersion: extensions/v1beta1 kind: Ingress metadata:name: test-ingressnamespace: test spec:rules:- host: test1.domain.comhttp:paths:- backend:serviceName: service1servicePort: 8080path: /?
二、test1.domain.com ? --> ? /aaa ? --> ? service2:8080
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? --> ? /bbb ? --> ? service3:8080
apiVersion: extensions/v1beta1 kind: Ingress metadata:name: test-ingressnamespace: test spec:rules:- host: test1.domain.comhttp:paths:- backend:serviceName: service1servicePort: 8080path: /aaa- backend:serviceName: service2servicePort: 8080path: /bbb?
三、test1.domain.com ? -->? service1:8080
test2.domain.com ? -->? service4:8080
apiVersion: extensions/v1beta1 kind: Ingress metadata:name: test-ingressnamespace: test spec:rules:- host: test1.domain.comhttp:paths:- backend:serviceName: service1servicePort: 8080- host: test2.domain.comhttp:paths:- backend:serviceName: service4servicePort: 8080?
四、test1.domain.com ? -->? service1:8080
沒在request中定義主機名(即沒有顯示請求頭)的請求 ? --> ? service5:8080
apiVersion: extensions/v1beta1 kind: Ingress metadata:name: test-ingressnamespace: test spec:rules:- host: test1.domain.comhttp:paths:- backend:serviceName: service1servicePort: 8080- http:paths:- backend:serviceName: service5servicePort: 8080?
五、https://test1.domain.com ? -->? service1:8080
apiVersion: extensions/v1beta1 kind: Ingress metadata:name: test-ingressnamespace: test spec:rules:- host: test1.domain.comhttp:paths:- backend:serviceName: service1servicePort: 8080tls:- hosts:- test1.domain.comsecretName: domain-tls #證書見下證書yaml
apiVersion: v1 data:tls.crt: cert(base64) #轉(zhuǎn)碼見下tls.key: key(base64) kind: Secret metadata:name: domain-tlsnamespace: test type: kubernetes.io/tlsbase64轉(zhuǎn)碼
cat fullchain.pem | base64 | tr '\n' ' ' | sed s/[[:space:]]//g #中間去掉換行和空格 cat privkey.pem | base64 | tr '\n' ' ' | sed s/[[:space:]]//g?
六、nginx中的設(shè)置,在ingress是通過annotations來配置的
apiVersion: extensions/v1beta1 kind: Ingress metadata:name: test-ingressnamespace: testannotations:nginx.ingress.kubernetes.io/proxy-connect-timeout: "600s"nginx.ingress.kubernetes.io/proxy-read-timeout: "600s"nginx.ingress.kubernetes.io/proxy-send-timeout: "600s" spec:rules:- host: test1.domain.comhttp:paths:- backend:serviceName: service1servicePort: 8080path: /?
詳細(xì)ingress鏈接:https://kubernetes.io/docs/concepts/services-networking/ingress/
ingress中annotations的配置選項:https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md
轉(zhuǎn)載于:https://www.cnblogs.com/chy-op/p/10566657.html
總結(jié)
以上是生活随笔為你收集整理的k8s的ingress使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为智慧屏HD55THAA可以用有线链接
- 下一篇: 2019.03.20 mvt,Djan