版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
《容器技術實戰(zhàn)》廣州白云工商技師學院云計算和大數(shù)據(jù)人才培養(yǎng)規(guī)劃教材項目任務使用kubernetes編排網(wǎng)絡服務(通過nfs網(wǎng)絡卷部署kubernetesnginx集群服務)計算機網(wǎng)絡教研室復習回顧回顧與作業(yè)點評回顧:
1、創(chuàng)建kubernets集群2、查看kubernets集群狀態(tài)
作業(yè)點評:
創(chuàng)建kubernets集群,查看kubernets集群狀態(tài)任務要求學習編寫編排kubernetes集群服務的yaml文件,通過kubernetes實現(xiàn)nginx集群的創(chuàng)建,查看工作狀態(tài),然后根據(jù)用戶流量的需求測試nginx集群的伸縮,并測試在節(jié)點故障的情況下kubernetes如何實現(xiàn)用戶的期望。我要努力學習目標1.能編寫kubernetes部署服務的yaml文件2.能運用kubernetes部署nginx服務3.能實現(xiàn)nginx進行伸縮測試4.能查看和測試節(jié)點故障時kubernetes處理方法5、體驗研究問題的快樂,養(yǎng)成良好工作學習的習慣。重點難點重點:1、能編寫kubernetes部署服務的yaml文件2、能運用kubernetes部署nginx服務3、能實現(xiàn)nginx進行伸縮測試難點:編寫kubernetes部署服務的yaml文件學習內容通過nfs網(wǎng)絡卷部署kubernetesnginx集群服務架構設計01編寫配置文件02測試集群伸縮服務03測試集群故障自愈04任務流程任務流程編寫NGINX配置文件編寫集群配置文件測試nfs卷網(wǎng)頁測試集群自愈功能測試集群NGINX服務測試集群伸縮功能學習總結評價擴展設計部署環(huán)境通過nfs卷部署nginx集群服務演示示例1:方案設計學習步驟本案例仍采用三個節(jié)點的架構環(huán)境,通過kubernetes資源配置文件的方式部署nginx集群,達到高可用的web服務環(huán)境。網(wǎng)頁文件采用nfs服務器卷的方式直接提供pod,供pod中的容器使用。本案例通過配置網(wǎng)頁,部署web服務,測試和查看結果,節(jié)點故障模擬,副本數(shù)量伸縮學習kubernetes基本功能一、方案設計通過nfs卷部署nginx集群服務演示示例2:配置nfs網(wǎng)頁文件學習步驟利用前期nfs配置的共享目錄,例如32上的/root/nfs-share/wwwroot共享文件夾。adminroot@blockchain:~$showmount--exports32Exportlistfor32:/root/nfs-share/wordpress/db192.168.47.*/root/nfs-share/wwwroot192.168.47.*/root/nfs-share192.168.47.*下面創(chuàng)建一個測試網(wǎng)頁。adminroot@blockchain:~$suPassword:root@blockchain:/home/adminroot#cd/root/nfs-share/wwwrootroot@blockchain:~/nfs-share/wwwroot#lstest.phproot@blockchain:~/nfs-share/wwwroot#echo"這是一個kubernetsnginx集群測試頁">index.html二、配置nfs網(wǎng)頁文件通過nfs卷部署nginx集群服務演示示例2:配置nfs網(wǎng)頁文件學習步驟二、配置nfs網(wǎng)頁文件完成時間:15分鐘學生練習,教師巡回指導通過nfs卷部署nginx集群服務演示示例3:配置nginx集群配置文件學習步驟1、創(chuàng)建配置文件(1)創(chuàng)建kubernetesnginx集群配置文件文件夾root@blockchain:/home/adminroot#mkdirk8s-nginxroot@blockchain:/home/adminroot#cdk8s-nginx/root@blockchain:/home/adminroot/k8s-nginx#三、配置kubernetesnginx集群配置文件通過nfs卷部署nginx集群服務演示示例3:配置nginx集群配置文件學習步驟1、創(chuàng)建配置文件(2)編寫配置文件編寫配置文件,文件名命名web-nginx.yml三、配置kubernetesnginx集群配置文件root@blockchain:/home/adminroot/k8s-nginx#viweb-nginx.ymlapiVersion:apps/v1kind:Deploymentmetadata:name:web-nginxspec:selector:matchLabels:app:web-nginxreplicas:2#副本數(shù)量template:metadata:labels:app:web-nginxspec:containers:-name:webimage:nginximagePullPolicy:Never#如果已經(jīng)有鏡像,就不需要再拉取鏡像ports:-name:webcontainerPort:80#hostPort:80#將容器的80端口映射到宿主機的80端口volumeMounts:-name:nfs#指定名稱必須與下面一致mountPath:"/usr/share/nginx/html"#容器內的掛載點volumes:-name:nfs#指定名稱必須與上面一致nfs:#nfs存儲server:32#nfs服務器ip或是域名path:"/root/nfs-share/wwwroot"#nfs服務器共享的目錄通過nfs卷部署nginx集群服務演示示例3:配置nginx集群配置文件學習步驟三、配置kubernetesnginx集群配置文件完成時間:45分鐘學生練習,教師巡回指導通過nfs卷部署nginx集群服務演示示例4:部署和測試學習步驟1、部署nginx集群運用kubectlapply命令進行部署nginx集群。root@blockchain:/home/adminroot/k8s-nginx#kubectlapply-fweb-nginx.ymldeployment.apps/web-nginxcreated從命令執(zhí)行結果上看,創(chuàng)建成功。2、查看deployment狀態(tài)運用kubectlgetdeployment命令查看當前deployment資源部署情況。root@blockchain:/home/adminroot/k8s-nginx#kubectlgetdeploymentNAMEREADYUP-TO-DATEAVAILABLEAGEweb-nginx2/2228s從命令執(zhí)行結果上看,共有2個副本,2個有效副本,正是配置文件中定義的副本數(shù)量。四、部署和測試通過nfs卷部署nginx集群服務演示示例4:部署和測試學習步驟3、查看pod運行情況用kubectlgetpod命令查看pod運行情況,本命令省去了NOMINATEDNODE和READINESSGATES項。root@blockchain:/home/adminroot/k8s-nginx#kubectlgetpod-owideNAMEREADYSTATUSRESTARTSAGEIPNODEweb-nginx-66c8b4f869-bt55x1/1Running015s3ubuntu-chain1web-nginx-66c8b4f869-qtrwj1/1Running015s0ubuntu-chain0
從命令執(zhí)行結果上看,2個pod分別是web-nginx-66c8b4f869-bt55x和web-nginx-66c8b4f869-qtrwj,IP地址分別是3和0,分別分布在ubuntu-chain1和ubuntu-chain0節(jié)點。4、測試網(wǎng)頁用curl測試pod地址查看網(wǎng)頁內容,執(zhí)行的結果可以看出顯示nfs上網(wǎng)頁文件內容正確。root@blockchain:/home/adminroot/k8s-nginx#curl3這是一個kubernetsnginx集群測試頁root@blockchain:/home/adminroot/k8s-nginx#curl0這是一個kubernetsnginx集群測試頁四、部署和測試通過nfs卷部署nginx集群服務演示示例4:部署和測試學習步驟四、部署和測試完成時間:10分鐘學生練習,教師巡回指導通過nfs卷部署nginx集群服務演示示例5:測試kubernetes的伸縮功能學習步驟1、修改配置文件增加副本數(shù)量修改web-nginx.yml文件,將replicas:2改成4。2、重新執(zhí)行部署命令root@blockchain:/home/adminroot/k8s-nginx#kubectlapply-fweb-nginx.ymldeployment.apps/web-nginxconfigured3、查看deployment狀態(tài)root@blockchain:/home/adminroot/k8s-nginx#kubectlgetdeploymentNAMEREADYUP-TO-DATEAVAILABLEAGEweb-nginx4/44411m從命令執(zhí)行結果上看,共有4個副本,4個有效副本,由原來的2個擴展成4個。五、測試kubernetes的伸縮功能通過nfs卷部署nginx集群服務演示示例5:測試kubernetes的伸縮功能學習步驟3、查看pod運行情況root@blockchain:/home/adminroot/k8s-nginx#kubectlgetpod-owideNAMEREADYSTATUSRESTARTSAGEIPNODENOMINATEDNODEREADINESSGATESweb-nginx-66c8b4f869-2fh8t1/1Running02m23s4ubuntu-chain1<none><none>web-nginx-66c8b4f869-khb491/1Running012m3ubuntu-chain1<none><none>web-nginx-66c8b4f869-nl9qt1/1Running02m23s1ubuntu-chain0<none><none>web-nginx-66c8b4f869-scnjm1/1Running012m0ubuntu-chain0<none><none>從命令執(zhí)行的結果上看,在ubuntu-chain0和ubuntu-chain1上分別有2個pod,符合預期。五、測試kubernetes的伸縮功能通過nfs卷部署nginx集群服務演示示例5:測試kubernetes的伸縮功能學習步驟4、測試網(wǎng)頁執(zhí)行curl命令測試4個pod中容器的網(wǎng)頁,顯示正常。root@blockchain:/home/adminroot/k8s-nginx#curl0這是一個kubernetsnginx集群測試頁root@blockchain:/home/adminroot/k8s-nginx#curl1這是一個kubernetsnginx集群測試頁root@blockchain:/home/adminroot/k8s-nginx#curl3這是一個kubernetsnginx集群測試頁root@blockchain:/home/adminroot/k8s-nginx#curl4這是一個kubernetsnginx集群測試頁。五、測試kubernetes的伸縮功能通過nfs卷部署nginx集群服務演示示例5:測試kubernetes的伸縮功能學習步驟五、測試kubernetes的伸縮功能完成時間:15分鐘閱讀教材操作,教師巡回指導通過nfs卷部署nginx集群服務演示示例6:測試kubernetes的故障自愈功能學習步驟Kubernetes可以自動發(fā)現(xiàn)節(jié)點故障,會將不可用節(jié)點上的pod調度到可用的節(jié)點上,保持pod數(shù)量符合用戶預期數(shù)量,下面測試以ubuntu-chain1故障為例查看Kubernetes自愈結果。1、將ubuntu-chain1主機關閉root@ubuntu-chain1:~#halt-h2、查看節(jié)點狀況root@blockchain:/home/adminroot/k8s-nginx#kubectlgetnodeNAMESTATUSROLESAGEVERSIONblockchainReadymaster3h29mv1.18.3ubuntu-chain0Ready<none>3h20mv1.18.3ubuntu-chain1NotReady<none>3h20mv1.18.3可以看到ubuntu-chain1處于NotReady狀態(tài),不可提供服務。六、測試kubernetes的故障自愈功能通過nfs卷部署nginx集群服務演示示例6:測試kubernetes的故障自愈功能學習步驟3、查看deployment狀態(tài)root@blockchain:/home/adminroot/k8s-nginx#kubectlgetdeploymentNAMEREADYUP-TO-DATEAVAILABLEAGEweb-nginx2/44224m可以看到,web-nginx資源只有2個有效。六、測試kubernetes的故障自愈功能通過nfs卷部署nginx集群服務演示示例6:測試kubernetes的故障自愈功能學習步驟4、查看pod狀態(tài)root@blockchain:/home/adminroot/k8s-nginx#kubectlgetpod-owideNAMEREADYSTATUSRESTARTSAGEIPNODENOMINATEDNODEREADINESSGATESweb-nginx-66c8b4f869-2fh8t1/1Terminating018m4ubuntu-chain1<none><none>web-nginx-66c8b4f869-2hwkl1/1Running053s3ubuntu-chain0<none><none>web-nginx-66c8b4f869-khb491/1Terminating028m3ubuntu-chain1<none><none>web-nginx-66c8b4f869-nl9qt1/1Running018m1ubuntu-chain0<none><none>web-nginx-66c8b4f869-scnjm1/1Running028m0ubuntu-chain0<none><none>web-nginx-66c8b4f869-xcmfq1/1Running053s2ubuntu-chain0<none><none>從命令執(zhí)行結果上看,web-nginx-66c8b4f869-2fh8t和web-nginx-66c8b4f869-khb49兩個pod都處于Terminating狀態(tài),共有4個pod處于Running狀態(tài),說明仍然保持4個pod副本運行,但這4個pod都是在ubuntu-chain0上運行。六、測試kubernetes的故障自愈功能通過nfs卷部署nginx集群服務演示示例6:測試kubernetes的故障自愈功能學習步驟5、查看重新啟動ubuntu-chain1主機后deployment和pod狀態(tài)(1)查看deployment狀態(tài)root@blockchain:/home/adminroot/k8s-nginx#kubectlgetdeploymentNAMEREADYUP-TO-DATEAVAILABLEAGEweb-nginx4/44439m從命令執(zhí)行結果上看,恢復正常。六、測試kubernetes的故障自愈功能通過nfs卷部署nginx集群服務演示示例6:測試kubernetes的故障自愈功能學習步驟5、查看重新啟動ubuntu-chain1主機后deployment和pod狀態(tài)(2)查看pod狀態(tài)root@blockchain:/home/adminroot/k8s-nginx#kubectlgetpod-owideNAMEREADYSTATUSRESTARTSAGEIPNODENOMINATEDNODEREADINESSGATESweb-nginx-66c8b4f869-2hwkl1/1Running012m3ubuntu-chain0<none><none>web-nginx-66c8b4f869-nl9qt1/1Running029m1ubuntu-chain0<none><none>web-nginx-66c8b4f869-scnjm1/1Running039m0ubuntu-chain0<none><none>web-nginx-66c8b4f869-xcmfq1/1Running012m2ubuntu-chain0<none><none>從命令執(zhí)行結果上看,4個pod正常運行,但是仍在ubuntu-chain0上運行,并不會調度到ubuntu-chain1上運行。六、測試kubernetes的故障自愈功能通過nfs卷部署nginx集群服務演示示例6:測試kubernetes的故障自愈功能學習步驟5、查看重新啟動ubuntu-chain1主機后deployment和pod狀態(tài)(3)增加副本數(shù)量測試將副本數(shù)量增加為5個測試。root@blockchain:/home/adminroot/k8s-nginx#kubectlgetpod-owideNAMEREADYSTATUSRESTARTSAGEIPNODENOMINATEDNODEREADINESSGATESweb-nginx-66c8b4f869-2hwkl1/1Running015m3ubuntu-chain0<none><none>web-nginx-66c8b4f869-n9q4j1/1Running08s5ubuntu-chain1<none><none>web-nginx-66c8b4f869-nl9qt1/1Running033m1ubuntu-chain0<none><none>web-nginx-66c8b4f869-scnjm1/1Running043m0ubuntu-chain0<none><none>web-nginx-66c8b4f869-xcmfq1/1Running015m2ubuntu-chain0<none><none>六、測試kubernetes的故障自愈功能通過nfs卷部署nginx集群服務演示示例6:測試kubernetes的故障自愈功能學習步驟5、查看重新啟動ubuntu-chain1主機后deployment和pod狀態(tài)(3)增加副本數(shù)量測試將副本數(shù)量增加為7個測試。root@blockchain:/home/adminroot/k8s-nginx#kubectlgetpod-owideNAMEREADYSTATUSRESTARTSAGEIPNODENOMINATEDNODEREADINESSGATESweb-nginx-66c8b4f869-2hwkl1/1Running019m3ubuntu-chain0<none><none>web-nginx-66c8b4f869-2hxss1/1Running07s6ubuntu-chain1<none><none>web-nginx-66c8b4f869-9qlrd1/1Running07s7ubuntu-chain1<none><none>web-nginx-66c8b4f869-n9q4j1/1Running03m38s5ubuntu-chain1<none><none>web-nginx-66c8b4f869-nl9qt1/1Running036m1ubuntu-chain0<none><none>web-nginx-66c8b4f869-scnjm1/1Running046m0ubuntu-chain0<none>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版家屬區(qū)整體改造裝修服務合同3篇
- 江蘇省南通市如皋市 2024-2025學年九年級上學期1月期末道德與法治試題(含答案)
- 二零二五年度企業(yè)并購合同法操作指南3篇
- 保健品批發(fā)商的社區(qū)健康宣傳效果評估考核試卷
- 家居布藝的智能化窗簾控制系統(tǒng)設計與實現(xiàn)考核試卷
- 二零二五年度造紙機械租賃施工合同2篇
- 2025年新能源車位租賃與維護保養(yǎng)一體化服務合同2篇
- 2025年新能源產品銷售業(yè)績達標合同范本2篇
- 2025年信息安全技術協(xié)議
- 2025年度智能設備維修個人勞務合同模板3篇
- 我的家鄉(xiāng)瓊海
- (2025)專業(yè)技術人員繼續(xù)教育公需課題庫(附含答案)
- 《互聯(lián)網(wǎng)現(xiàn)狀和發(fā)展》課件
- 【MOOC】計算機組成原理-電子科技大學 中國大學慕課MOOC答案
- 2024年上海健康醫(yī)學院單招職業(yè)適應性測試題庫及答案解析
- 2024年湖北省武漢市中考語文適應性試卷
- 非新生兒破傷風診療規(guī)范(2024年版)解讀
- EDIFIER漫步者S880使用說明書
- 皮膚惡性黑色素瘤-疾病研究白皮書
- 從心理學看現(xiàn)代家庭教育課件
- C語言程序設計PPT(第7版)高職完整全套教學課件
評論
0/150
提交評論