一、淺談ingress (ingress 是與service配合使用的)
?Ingress能把Service(Kubernetes的服務(wù))配置成外網(wǎng)能夠訪問(wèn)的URL,流量負(fù)載均衡,及SSL,并提供域名訪問(wèn)的虛擬主機(jī)等,客戶通過(guò)訪問(wèn)URL(API資源服務(wù)的形式,例如:caas.one/kibana)進(jìn)入和請(qǐng)求Service,一個(gè)Ingress控制器負(fù)責(zé)處理所有Ingress的請(qǐng)求流量,它通常是一個(gè)負(fù)載均衡器,它也可以設(shè)置在邊界路由器上,或者由額外的前端來(lái)幫助處理HA方式的流量。如圖所示:
1. k8s的訪問(wèn)方式?
? ? ? ? 一般來(lái)說(shuō)k8s對(duì)外服務(wù)的方式有三種:
- LoadBlancer Service
- NodePort Service?
- Ingress
1.1?? LoadBlancer Service
?????? LoadBancer Service 是Kubernetes深度結(jié)合云平臺(tái)的一個(gè)組件;當(dāng)使用LoadBlancer Service 暴露服務(wù)時(shí),實(shí)際上是通過(guò)向底層云平臺(tái)申請(qǐng)創(chuàng)建一個(gè)負(fù)載均衡器來(lái)向外暴露服務(wù);目前LoadBlancer Service支持的云平臺(tái)已經(jīng)相對(duì)完善,比如公有云阿里云,華為云及私有云(Openstack)等等,由于LoadBlancer Service深度結(jié)合了云平臺(tái),所以只能在一些云平臺(tái)上使用.
1.2. NodePort Service
??????? NodePort Service顧名思義,實(shí)質(zhì)上就是通過(guò)在集群的每個(gè)Node上暴露一個(gè)端口,然后將這個(gè)端口映射到某個(gè)具體的Service來(lái)實(shí)現(xiàn)的,雖然每個(gè)Node的端口有很多(0~65535),但是由于安全性和易用性(服務(wù)多了就亂了,端口沖突問(wèn)題)實(shí)際使用可能并不多。
1.3 ingress?
? ? ? ? Ingress 是在Kubernetes 1.2后出現(xiàn)的,通過(guò)Ingress用戶可以實(shí)現(xiàn)使用Nginx等開(kāi)源的反向代理負(fù)載均衡實(shí)現(xiàn)對(duì)外暴露服務(wù),除Ingress之外,traefik
用的也是相同的技術(shù)。
二. ingress組件
- 反向代理負(fù)載均衡器
- Ingress Controller
- Ingress
2.1?反向代理負(fù)載均衡器?
? ? ? ? 反向代理負(fù)載均衡器很簡(jiǎn)單,說(shuō)白了就是nginx、apche等;在集群中反向代理負(fù)載均衡器可以自由部署,可以使用Replication Controller、Deployment、DaemonSet等等。
2.2? Ingress Controller
??????? Ingress Controller實(shí)質(zhì)上可以理解為是個(gè)監(jiān)視器,Ingress Controller通過(guò)不斷地跟Kubernetes API打交道,實(shí)時(shí)的感知后端Service、Pod等變化,比如新增和減少Pod,Service增加與減少等;當(dāng)?shù)玫竭@些變化信息后,Ingress Controller在結(jié)合下文的Ingress生成配置,然后更新反向代理負(fù)載均衡器,并刷新其配置,達(dá)到服務(wù)發(fā)現(xiàn)的作用。
2.3? Ingress
??????? Ingress簡(jiǎn)單理解就是個(gè)規(guī)則定義,比如某個(gè)域名對(duì)應(yīng)某個(gè)Serivce,即當(dāng)某個(gè)域名的請(qǐng)求進(jìn)來(lái)時(shí)轉(zhuǎn)發(fā)給某個(gè)Service;這個(gè)規(guī)則將與Ingress Controller結(jié)合,然后Ingress Controller將其動(dòng)態(tài)寫(xiě)入到負(fù)載均衡器中,從而實(shí)現(xiàn)整體的服務(wù)發(fā)現(xiàn)和負(fù)載均衡。Ingress解決的是新的服務(wù)加入后,域名和服務(wù)的對(duì)應(yīng)問(wèn)題,基本上是一個(gè)ingress的對(duì)象,通過(guò)yaml進(jìn)行創(chuàng)建和更新進(jìn)行加載。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-662641.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-662641.html
到了這里,關(guān)于k8s ingress的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!