溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站

發(fā)布時(shí)間:2021-07-24 11:29:38 來(lái)源:億速云 閱讀:152 作者:chen 欄目:云計(jì)算

本篇內(nèi)容介紹了“如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

場(chǎng)景介紹

本文介紹如何在半小時(shí)內(nèi),通過(guò)阿里云容器ACK服務(wù)和文件存儲(chǔ)NAS服務(wù)搭建一個(gè)簡(jiǎn)單的彈性、高可用NGINX網(wǎng)站。在完成本文的所有操作后,您將獲得一個(gè)單網(wǎng)頁(yè)的網(wǎng)站,用戶的請(qǐng)求將會(huì)被打散到多個(gè)容器節(jié)點(diǎn)上,并且根據(jù)業(yè)務(wù)負(fù)載自動(dòng)擴(kuò)縮容,即使某個(gè)容器節(jié)點(diǎn)宕機(jī)也不會(huì)影響用戶訪問(wèn)。另外您還可以將本地編輯的網(wǎng)頁(yè)快速更新到網(wǎng)站上。

背景知識(shí)

本教程使用到的云產(chǎn)品如下:

云服務(wù)器ECS

服務(wù)器(Elastic Compute Service,簡(jiǎn)稱ECS)是阿里云提供的性能卓越、穩(wěn)定可靠、彈性擴(kuò)展的IaaS(Infrastructure as a Service)級(jí)別云計(jì)算服務(wù)。云服務(wù)器ECS免去了您采購(gòu)IT硬件的前期準(zhǔn)備,讓您像使用水、電、天然氣等公共資源一樣便捷、高效地使用服務(wù)器,實(shí)現(xiàn)計(jì)算資源的即開(kāi)即用和彈性伸縮。阿里云ECS持續(xù)提供創(chuàng)新型服務(wù)器,解決多種業(yè)務(wù)需求,助力您的業(yè)務(wù)發(fā)展。

文件存儲(chǔ)NAS

阿里云文件存儲(chǔ)(Network Attached Storage,簡(jiǎn)稱 NAS)是面向阿里云 ECS 實(shí)例、E-HPC 和容器服務(wù)等計(jì)算節(jié)點(diǎn)的文件存儲(chǔ)服務(wù)。NAS 提供了簡(jiǎn)單的可擴(kuò)展文件存儲(chǔ)以供與 ECS 配合使用,多個(gè)ECS實(shí)例可以同時(shí)訪問(wèn) NAS 文件系統(tǒng),并且存儲(chǔ)容量會(huì)隨著您添加和刪除文件而自動(dòng)彈性增長(zhǎng)和收縮,為在多個(gè)實(shí)例或服務(wù)器上運(yùn)行的工作負(fù)載和應(yīng)用程序提供通用數(shù)據(jù)源。

容器服務(wù)Kubernetes版

阿里云容器服務(wù)Kubernetes版ACK(Alibaba Cloud Container Service for Kubernetes)是全球首批通過(guò)Kubernetes一致性認(rèn)證的服務(wù)平臺(tái),提供高性能的容器應(yīng)用管理服務(wù),支持企業(yè)級(jí)Kubernetes容器化應(yīng)用的生命周期管理,讓您輕松高效地在云端運(yùn)行Kubernetes容器化應(yīng)用。

本教程七個(gè)步驟,完成前五個(gè)步驟即可實(shí)現(xiàn)彈性高可用的NGINX網(wǎng)站,最后兩個(gè)步驟驗(yàn)證網(wǎng)站的彈性和高可用屬性。

步驟一:創(chuàng)建資源 步驟二:掛載文件系統(tǒng)NAS到ECS服務(wù)器 步驟三:上傳文件到NAS 步驟四:配置NAS掛載信息 步驟五:創(chuàng)建NGINX應(yīng)用 步驟六:訪問(wèn)測(cè)試網(wǎng)站 步驟七:驗(yàn)證服務(wù)高可用 步驟八:驗(yàn)證彈性擴(kuò)縮容 如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站

步驟一:開(kāi)啟體驗(yàn)

云產(chǎn)品資源體驗(yàn)地址:https://developer.aliyun.com/adc/scenario/57f4d9ac091a4b539a261ff2ef657ff0

開(kāi)啟云產(chǎn)品資源

步驟二:掛載文件系統(tǒng)NAS到ECS服務(wù)器

阿里云文件存儲(chǔ)NAS是一個(gè)可共享訪問(wèn),彈性擴(kuò)展,高可靠,高性能的分布式文件系統(tǒng)。它可以為容器提供持久化的存儲(chǔ)服務(wù)。在接下來(lái)的操作里,您的網(wǎng)頁(yè)文件將會(huì)被保存在NAS文件系統(tǒng)中,當(dāng)容器pod被創(chuàng)建后即可直接調(diào)用NAS里的文件,并且在pod被銷毀后,NAS里的文件也會(huì)繼續(xù)留存。 1.使用資源提供的子賬號(hào)(可以使用瀏覽器的無(wú)痕模式),登錄NAS文件系統(tǒng)控制臺(tái)。 2.單擊左側(cè)引導(dǎo)欄文件系統(tǒng)列表,然后單擊文件系統(tǒng) ID進(jìn)入文件系統(tǒng)詳情頁(yè)。 3.單擊掛載使用,查看掛載點(diǎn)信息,復(fù)制掛載命令。 如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站 4.打開(kāi)終端工具,在終端中輸入連接命令ssh [username]@[ipaddress]。您需要將其中的username和ipaddress替換為資源提供的的ECS服務(wù)器的公網(wǎng)IP。 例如:

ssh root@123.123.123.123

如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站 命令顯示結(jié)果如下: 如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站 5.在終端中執(zhí)行以下命令,掛載NAS到ECS服務(wù)器。 安裝NFS客戶端。

sudo yum install nfs-utils

執(zhí)行第3步中復(fù)制的掛載命令,掛載NAS到ECS的/mnt目錄。

sudo mount -t nfs -o vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport 3******7.cn-shanghai.nas.aliyuncs.com:/ /mnt

步驟三:上傳文件到NAS

使用ACK集群搭建NGINX服務(wù)后,在您打開(kāi)網(wǎng)站首頁(yè)時(shí),容器就會(huì)從NAS文件系統(tǒng)中讀取這一步上傳的網(wǎng)頁(yè)文件,返回給瀏覽器。在網(wǎng)站搭建完成后,您可以通過(guò)同樣的方法更新NAS里的文件。 1.在本地創(chuàng)建index.html文件。

  • Windows系統(tǒng):打開(kāi)文本編輯器,輸入test index page for nginx-nas-demo,然后保存文件類型為HTML文件。

  • MacOS或Linux:打開(kāi)命令行工具,然后執(zhí)行以下命令即可。

mkdir -p ~/Documents/nginx-nas-demo
echo "test index page for nginx-nas-demo" > ~/Documents/nginx-nas-demo/index.html

2.下載并安裝SFTP客戶端,例如:FileZilla。 3.上傳index.html文件到NAS。

  • 雙擊運(yùn)行FileZila。

  • 根據(jù)以下信息,連接服務(wù)器。主機(jī):資源提供的ECS公網(wǎng)IP。用戶名:root密碼:資源提供的ECS密碼。端口:22。

  • 在左側(cè)目錄樹(shù)找到本地創(chuàng)建的index.html文件,在右側(cè)目錄樹(shù)輸入/mnt,進(jìn)入NAS目錄。

  • 將左側(cè)區(qū)域的index.html拖拽到右側(cè)區(qū)域,即可將本地文件上傳到NAS。 如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站 4.您可以使用步驟二的方式遠(yuǎn)程連接到ECS,在/mnt目錄中查看剛上傳的index.html文件。 如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站

步驟四:配置NAS掛載信息

要使用ACK服務(wù)掛載使用NAS,需要先配置容器存儲(chǔ)卷PV和存儲(chǔ)聲明PVC信息,這些信息將會(huì)在您部署NGINX應(yīng)用的時(shí)候用到。 1.配置存儲(chǔ)卷。 進(jìn)入ACK集群列表,單擊ACK集群名稱,進(jìn)入集群詳情頁(yè)。 單擊左側(cè)引導(dǎo)欄中的存儲(chǔ)卷。 單擊存儲(chǔ)卷標(biāo)簽頁(yè),然后單擊創(chuàng)建。 選擇NAS存儲(chǔ)卷類型,填寫(xiě)存儲(chǔ)卷名稱,選擇NAS掛載點(diǎn),最后單擊創(chuàng)建。 操作流程參見(jiàn)如下圖。 圖1: 如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站 圖2: 如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站 2.配置存儲(chǔ)聲明。 1.單擊左側(cè)導(dǎo)航欄中的存儲(chǔ)卷。 2.單擊存儲(chǔ)聲明,然后單擊創(chuàng)建。 3.根據(jù)以下信息配置存儲(chǔ)聲明。 存儲(chǔ)聲明類型:選擇NAS。 名稱:填寫(xiě)存儲(chǔ)聲明名稱,例如:nas-pvc。 分配模式:選擇已有存儲(chǔ)卷。 已有存儲(chǔ)卷:選擇上一步創(chuàng)建的存儲(chǔ)卷。 總量:此欄對(duì)于NAS不具有實(shí)際限制意義,保留默認(rèn)值即可。 如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站

步驟五:創(chuàng)建NGINX應(yīng)用

1.進(jìn)入集群詳情頁(yè)單擊左側(cè)引導(dǎo)欄中的工作負(fù)載,在默認(rèn)的無(wú)狀態(tài)標(biāo)簽頁(yè)中,單擊使用鏡像創(chuàng)建。

2.在應(yīng)用基本信息頁(yè)面中,填寫(xiě)應(yīng)用名稱,然后單擊下一步。 如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站 3.容器配置。 a. 在容器配置頁(yè)面中,單擊選擇鏡像。 如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站 b. 在彈出的對(duì)話框中,單擊搜索,選擇Docker鏡像,填寫(xiě)nginx,然后單擊搜索。 c. 在搜索結(jié)果中選擇nginx官方鏡像,然后單擊確定。 如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站 d. 將容器配置頁(yè)面拉到最下方,在數(shù)據(jù)卷欄單擊增加云存儲(chǔ)聲明(PersistentVolumeClaim),選擇步驟二創(chuàng)建的存儲(chǔ)聲明作為掛載源,在容器路徑一項(xiàng)填寫(xiě)/usr/share/nginx/html/。 說(shuō)明 這項(xiàng)配置會(huì)將NAS掛載到容器的/usr/share/nginx/html/路徑,也就是NGINX默認(rèn)存放index.html的目錄。

如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站 e. 此頁(yè)面其他配置使用默認(rèn)值即可,單擊下一步按鈕繼續(xù)。

  • 高級(jí)配置。 a. 在高級(jí)配置頁(yè)面中,單擊服務(wù)(Service)右側(cè)的創(chuàng)建。 在彈出創(chuàng)建服務(wù)對(duì)話框的端口映射中設(shè)置以下信息,然后點(diǎn)擊創(chuàng)建。 名稱:http(http必須全部小寫(xiě),否則會(huì)創(chuàng)建失?。?。 服務(wù)端口:80。 容器端口:80。 協(xié)議:TCP。 如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站 說(shuō)明 其他選項(xiàng)保持默認(rèn)值即可。

    b. 單擊路由(Ingress)右側(cè)的創(chuàng)建。 在彈出的創(chuàng)建對(duì)話框的規(guī)則項(xiàng)中配置以下信息,然后單擊創(chuàng)建。

  • 域名:您的網(wǎng)站域名,例如:foo.bar.com。說(shuō)明 如果您沒(méi)有域名,可以先隨意填寫(xiě)一個(gè)測(cè)試域名。

  • 服務(wù):選擇上一步創(chuàng)建的nginx-nas-svc服務(wù)。 如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站 說(shuō)明 其他選項(xiàng)保持默認(rèn)值即可。 此時(shí)路由一欄應(yīng)該顯示域名與對(duì)應(yīng)服務(wù)的信息。路由功能會(huì)將用戶請(qǐng)求通過(guò)簡(jiǎn)單扇出的方法,打散到多個(gè)容器節(jié)點(diǎn)上進(jìn)行處理。 c. 勾選容器組水平伸縮后面的開(kāi)啟,然后在最小副如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站 等待創(chuàng)建成功。 如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站

步驟六:訪問(wèn)測(cè)試網(wǎng)站

等待NAS和容器的配置完成后,您就可以使用本地電腦訪問(wèn)測(cè)試網(wǎng)站了。 1.配置辦公電腦的hosts文件。 說(shuō)明: 如果您在NGINX應(yīng)用配置中,使用的是正式網(wǎng)站域名,并且已經(jīng)通過(guò)備案,就可以跳過(guò)這個(gè)步驟,直接通過(guò)瀏覽器打開(kāi)網(wǎng)站。如果您使用的是測(cè)試域名(例如foo.bar.com),那么就需要在本地電腦上配置hosts文件,讓瀏覽器把對(duì)域名的請(qǐng)求轉(zhuǎn)到ACK集群的IP地址上。 a. 進(jìn)入ACK控制臺(tái)的工作負(fù)載頁(yè)面。 b. 單擊步驟三創(chuàng)建的NGINX服務(wù)名稱。 如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站 c. 單擊訪問(wèn)方式標(biāo)簽頁(yè),將路由的端點(diǎn)IP地址復(fù)制到粘貼板,這個(gè)IP地址就是公網(wǎng)訪問(wèn)網(wǎng)站使用的IP地址。 如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站 d. 使用管理員權(quán)限打開(kāi)本地C:\Windows\System32\drivers\etc\hosts文件,將端點(diǎn)IP和步驟三種設(shè)置的域名加入hosts文件,然后保存退出,如下圖所示。 說(shuō)明:Linux和Mac系統(tǒng)請(qǐng)修改/etc/hosts文件。

如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站 2.使用瀏覽器打開(kāi)網(wǎng)站。 如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站 說(shuō)明:如果不能正常訪問(wèn),您可以嘗試清空瀏覽器緩存,或者使用無(wú)痕瀏覽模式訪問(wèn)。

步驟七:驗(yàn)證服務(wù)高可用

因?yàn)椴渴餘GINX應(yīng)用的時(shí)候,選擇了容器組最小副本數(shù)為2,所以在一臺(tái)容器宿主節(jié)點(diǎn)宕機(jī)的情況下,網(wǎng)站仍然可以由另一臺(tái)容器宿主節(jié)點(diǎn)提供服務(wù),保證了服務(wù)的高可用特性。 1.模擬節(jié)點(diǎn)故障。 a. 在集群詳情頁(yè)單擊左側(cè)引導(dǎo)欄節(jié)點(diǎn)管理進(jìn)入節(jié)點(diǎn)管理頁(yè)面。 b. 選擇其中2個(gè)節(jié)點(diǎn),然后單擊下面操作欄節(jié)點(diǎn)維護(hù)在彈出的對(duì)話框中勾選排空節(jié)點(diǎn),然后單擊確定。 如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站 此時(shí),可以看到節(jié)點(diǎn)狀態(tài)為不可調(diào)度。 如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站 c. 使用瀏覽器打開(kāi)網(wǎng)站,發(fā)現(xiàn)仍然可以正常訪問(wèn)。 如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站 2. 恢復(fù)節(jié)點(diǎn)。 a. 單擊下面操作欄節(jié)點(diǎn)上線在彈出的對(duì)話框單擊確定。 b. 使用瀏覽器打開(kāi)網(wǎng)站,發(fā)現(xiàn)仍然可以正常訪問(wèn)。 如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站

步驟八:驗(yàn)證彈性擴(kuò)容

1.查看容器組初始狀態(tài)。 a. 進(jìn)入ACK控制臺(tái)的工作負(fù)載頁(yè)面,單擊步驟三創(chuàng)建的NGINX服務(wù)名稱。 b. 單擊容器組水平伸縮器查看當(dāng)前副本數(shù)和容器組當(dāng)前當(dāng)前CPU使用率。 如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站 2. 模擬容器高負(fù)載。 a. 在集群詳情頁(yè)單擊右上方通過(guò) CloudShell 管理集群,進(jìn)入CloudShell命令行。 如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站 b. 在命令行中,執(zhí)行以下命令查看節(jié)點(diǎn)。

kubectl get pod

如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站 c. 執(zhí)行以下命令,進(jìn)入容器。

kubectl exec -it lalala-***pod-name****-kxjbg bash
d.  執(zhí)行以下命令,模擬容器高負(fù)載。
fulload() { dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null & }; fulload; read

3.確認(rèn)自動(dòng)擴(kuò)容。 a. 進(jìn)入ACK控制臺(tái)的工作負(fù)載頁(yè)面,單擊步驟三創(chuàng)建的NGINX服務(wù)名稱。 b. 單擊容器組水平伸縮器查看當(dāng)前副本數(shù)和容器組當(dāng)前CPU使用率。 稍等一點(diǎn)時(shí)間可以看到當(dāng)前CPU使用率明顯升高。 如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站 等待幾分鐘后再次查看,發(fā)現(xiàn)當(dāng)前副本數(shù)已經(jīng)變?yōu)?0。 如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站 c. 此時(shí),使用瀏覽器打開(kāi)網(wǎng)站,發(fā)現(xiàn)仍然可以正常訪問(wèn)。 如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站 4. 解除容器高負(fù)載。 a. 進(jìn)入CloudShell命令行。 b. 在命令行中執(zhí)行以下命令。

“如何使用ACK和NAS快速搭建彈性NGINX網(wǎng)站”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI