機(jī)械制造基礎(chǔ) 課件項(xiàng)目8 部署Ingress服務(wù)_第1頁
機(jī)械制造基礎(chǔ) 課件項(xiàng)目8 部署Ingress服務(wù)_第2頁
機(jī)械制造基礎(chǔ) 課件項(xiàng)目8 部署Ingress服務(wù)_第3頁
機(jī)械制造基礎(chǔ) 課件項(xiàng)目8 部署Ingress服務(wù)_第4頁
機(jī)械制造基礎(chǔ) 課件項(xiàng)目8 部署Ingress服務(wù)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

教材項(xiàng)目8部署Ingress服務(wù)目錄CONTENTS1Ingress的作用2Ingress的組成3Ingress的配置和使用任務(wù)1理解Ingress的作用8.1.1理解Ingress的作用任務(wù)實(shí)施

集群外部常用訪問方式為了使外部的應(yīng)用能夠訪問集群內(nèi)的服務(wù),在Kubernetes目前提供了以下幾種方案:NodePort

創(chuàng)建NodePort類型的Service可以實(shí)現(xiàn)從集群外部訪問內(nèi)部,采用

NodePort

方式暴露服務(wù)面臨問題是,服務(wù)一旦多起來,NodePort

在每個(gè)節(jié)點(diǎn)上開啟的端口會(huì)及其龐大,而且難以維護(hù),而且開啟端口多了以后,會(huì)面臨安全隱患。LoadBalancerLoadBalance方式受限于云平臺(tái),且通常在云平臺(tái)部署ELB還需要額外的費(fèi)用。Ingress

Ingress是集群外部訪問服務(wù)最多的方式,也是在生產(chǎn)環(huán)境下經(jīng)常使用的方式。Ingress的組成Ingress由Ingress資源對(duì)象和IngressController組成,兩者作用如下:1.Ingress資源對(duì)象Ingress資源對(duì)象是反向代理規(guī)則,用來規(guī)定HTTP/HTTPS的外部請(qǐng)求應(yīng)該被轉(zhuǎn)發(fā)到的Service,如根據(jù)請(qǐng)求中不同的Host和Url路徑請(qǐng)求到不同Service上。2.IngressControllerIngressController是一個(gè)反向代理程序,它負(fù)責(zé)解析Ingress的反向代理規(guī)則,如果Ingress有增刪改的變動(dòng),所有的IngressController都會(huì)及時(shí)更新自己相應(yīng)的轉(zhuǎn)發(fā)規(guī)則,當(dāng)IngressController收到請(qǐng)求后就會(huì)根據(jù)這些規(guī)則將請(qǐng)求轉(zhuǎn)發(fā)到對(duì)應(yīng)的Service。簡(jiǎn)單講就是Ingress資源對(duì)象定義訪問規(guī)則,IngressController實(shí)現(xiàn)訪問規(guī)則。Ingress的實(shí)現(xiàn)原理首先由Ingress資源對(duì)象定義規(guī)則,即哪些域名訪問哪些集群Service。2.Ingresscontroller通過與Kubernetesapi進(jìn)行交互,動(dòng)態(tài)的讀取集群中Ingress資源對(duì)象定義的規(guī)則,按照這個(gè)規(guī)則,生成一段nginx配置,再寫到nginx-ingress-controller的pod里,這個(gè)Ingresscontroller的pod里運(yùn)行著一個(gè)Nginx服務(wù),控制器會(huì)把生成的nginx配置寫入/etc/nginx.conf文件中,然后reload一下使配置生效,實(shí)現(xiàn)動(dòng)態(tài)更新。Ingress訪問架構(gòu)圖1.七層訪問與四層訪問的區(qū)別如圖8-2所示,ingresscontroller讀取ingress的配置,然后實(shí)現(xiàn)不同的域名訪問不同的集群內(nèi)部Service,進(jìn)而實(shí)現(xiàn)訪問Service匹配的每個(gè)Pod資源,在internet和ingresscontroller之間配置ingress-nginxservice的作用是通過NodePort的方式暴露ingresscontroller的Pod服務(wù),這樣無論域名對(duì)應(yīng)的是集群的哪個(gè)IP地址,都可以訪問到后端的Pod服務(wù)了。(1)七層訪問當(dāng)代理服務(wù)器收到請(qǐng)求時(shí),首先將報(bào)文拆開至應(yīng)用層,分析用戶請(qǐng)求的資源,然后代替用戶請(qǐng)求后端服務(wù)器的資源,這樣就可以實(shí)現(xiàn)根據(jù)不同的域名、URL、加密證書等信息實(shí)現(xiàn)轉(zhuǎn)發(fā)請(qǐng)求。(2)四層訪問會(huì)把請(qǐng)求報(bào)文拆開至傳輸層,根據(jù)請(qǐng)求的服務(wù)器的IP加端口號(hào)進(jìn)行轉(zhuǎn)發(fā),四層代理是由后端服務(wù)器進(jìn)行處理,包括報(bào)文的封裝都是后端服務(wù)器進(jìn)行封裝。2.Ingress實(shí)現(xiàn)的七層訪問架構(gòu)圖Ingress實(shí)現(xiàn)外部域名訪問的架構(gòu)如圖8-2所示。圖8-2Ingress外部訪問架構(gòu)圖ingresscontroller目前主要有兩種,分別是基于nginx服務(wù)的ingresscontroller和基于traefik的ingresscontroller,其中traefik的ingresscontroller,目前支持http和https協(xié)議。由于對(duì)nginx比較熟悉,而且需要使用TCP負(fù)載,所以選擇基于nginx服務(wù)的ingresscontroller。8.1.2部署Ingress-Nginx控制器實(shí)現(xiàn)http訪問

部署Ingress-Nginx控制器1.下載Ingress-Nginx控制器鏡像和yaml腳本(1)下載鏡像可以通過dockerhub網(wǎng)站下載Ingress-Nginx的鏡像,這里已經(jīng)下載到了本地,只需上傳到k8s系統(tǒng)節(jié)點(diǎn)上即可,這里將nginx-ingress.tar鏡像上傳到node1節(jié)點(diǎn),并使用dockerload命令加載到鏡像中(2)下載yaml腳本同樣可以在github等網(wǎng)站下載運(yùn)行nginx-ingress-controller控制器的腳本,這里已經(jīng)提前下載好,上傳到master節(jié)點(diǎn)即可。在集群中需要部署多個(gè)Web服務(wù),每個(gè)Web服務(wù)都是一個(gè)公司的網(wǎng)站,這就要求每個(gè)Web服務(wù)都要有自己的持久化數(shù)據(jù)存儲(chǔ),這里使用PV和PVC實(shí)現(xiàn)。(3)修改腳本創(chuàng)建控制器服務(wù)使用yaml腳本創(chuàng)建控制器Pod

配置Ingress規(guī)則1.構(gòu)建Web服務(wù)在yaml目錄下創(chuàng)建文件httpd.yaml2.創(chuàng)建Ingress資源對(duì)象創(chuàng)建Ingress的目的就是使用一個(gè)域名對(duì)應(yīng)到service服務(wù),然后通過這個(gè)域名房訪問集群內(nèi)的service,進(jìn)而訪問每個(gè)Pod容器服務(wù),在yaml目錄下,創(chuàng)建一個(gè)文件ingress.yaml3.檢查配置結(jié)果在windows中,修改C:\Windows\System32\drivers\etc下的hosts本地域名解析文件,加入一行4.為nginx-ingress控制器創(chuàng)建NodePortService8.1.3配置https實(shí)現(xiàn)安全訪問在8.1.2中實(shí)現(xiàn)了使用ingress-nginx為后端pod提供統(tǒng)一的入口,但有個(gè)問題需要考慮,就是如何為pod配置CA證書來實(shí)現(xiàn)HTTPS訪問,如果在每個(gè)pod中配置CA需要太多的重復(fù)性操作,而且po是隨時(shí)可能被kubelet殺掉重新創(chuàng)建的,當(dāng)然這些問題有很多解決方法,如直接將CA配置到鏡像中,但是這樣又需要很多個(gè)CA證書。解決的方法是在ingress規(guī)則,為域名配置CA證書,只要可以通過HTTPS訪問到域名,至于這個(gè)域名是怎么關(guān)聯(lián)到后端提供服務(wù)的pod,這就是屬于k8s群集內(nèi)部的通信了,即便使用http來通信,也是可以接受的。生成證書和私匙創(chuàng)建Secret存儲(chǔ)證書和私匙修改Ingress配置檢查配置結(jié)果任務(wù)2配置虛擬主機(jī)8.2.1基于目錄訪問發(fā)布多站點(diǎn)1.下載鏡像2.創(chuàng)建部署tomcat服務(wù)的控制器3.創(chuàng)建控制器,檢查結(jié)果

創(chuàng)建tomcat應(yīng)用

配置基于目錄

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論