一小时快速搭建基于阿里云容器服务-Kubernetes的Web应用
本文面向的讀者
如果您是一個(gè)Kubernetes的初學(xué)者,本文可以幫助你快速在云上搭建一個(gè)可實(shí)際使用的集群環(huán)境,并發(fā)布自己的第一個(gè)應(yīng)用。你無(wú)須提前準(zhǔn)備任何的硬件資源或者下載任何的軟件包。?
如果您已經(jīng)有一個(gè)自建的Kubernetes集群,想要嘗試阿里云上的托管集群,本文可以幫助你快速完成上手操作,而無(wú)需詳細(xì)閱讀阿里云的幫助文檔,從而節(jié)省您的時(shí)間。您可以在有了端到端的初體驗(yàn)之后,再有選擇的閱讀容器服務(wù)和容器鏡像服務(wù)的幫助文檔。?
如果你已經(jīng)有一個(gè)傳統(tǒng)的部署在云上的Web應(yīng)用(比如部署在云上的ECS里),想要進(jìn)行容器化的改造,本文同樣可以幫助到您,您甚至無(wú)需深入學(xué)習(xí)Kubernetes,只需了解基本概念即可。
準(zhǔn)備代碼
本文的操作全部基于阿里云控制臺(tái),因此您只需要一個(gè)阿里云控制臺(tái)的登錄賬號(hào)即可。?
我們先把應(yīng)用的代碼準(zhǔn)備好。請(qǐng)登錄https://code.aliyun.com/?,登錄完成后,訪問(wèn)https://code.aliyun.com/shengbo.tsb/yunputest?,點(diǎn)擊派生項(xiàng)目(fork)的圖標(biāo)。?
在隨后彈出的確認(rèn)框里,點(diǎn)擊頭像確認(rèn),完成派生。?
備選方案:如果您派生遇到了困難,可以直接從https://github.com/docker-training/webapp?clone這個(gè)項(xiàng)目,然后自己通過(guò)git push到code.aliyun.com上。
準(zhǔn)備鏡像倉(cāng)庫(kù)
登錄https://cr.console.aliyun.com/cn-beijing/instances/repositories?
在左側(cè)導(dǎo)航欄選擇“命名空間”?
點(diǎn)擊“創(chuàng)建命令空間”,輸入名字“tengshengbo”。?
確認(rèn)命名空間創(chuàng)建完成之后,點(diǎn)擊左側(cè)導(dǎo)航欄“鏡像倉(cāng)庫(kù)”,點(diǎn)擊“創(chuàng)建鏡像倉(cāng)庫(kù)”,輸入倉(cāng)庫(kù)名稱“yunputest”?
在下一步,選擇剛剛建立的代碼倉(cāng)庫(kù)。選擇“海外機(jī)器構(gòu)建”以加快構(gòu)建速度。提示:如果下拉框沒(méi)有代碼倉(cāng)庫(kù),點(diǎn)擊右側(cè)的刷新按鈕。?
創(chuàng)建新鏡像
回到https://code.aliyun.com/?點(diǎn)擊yunputest這個(gè)項(xiàng)目,注意,是自己名下的項(xiàng)目,而不是shengbo.tsb這個(gè)賬號(hào)名下的項(xiàng)目。 點(diǎn)擊“新標(biāo)簽”.
輸入標(biāo)簽名release-v1.5。注意,您必須使用release-v[版本號(hào)]形式,比如release-v2.5或者其他。?
返回鏡像倉(cāng)庫(kù)列表,https://cr.console.aliyun.com/cn-beijing/instances/repositories?
選擇自己的鏡像倉(cāng)庫(kù),左側(cè)導(dǎo)航選擇“構(gòu)建”,可以看到一個(gè)構(gòu)建自動(dòng)生成了。?
創(chuàng)建Kubernetes集群
訪問(wèn)容器服務(wù)控制臺(tái)?https://cs.console.aliyun.com/#/k8s/cluster/list?
選擇“創(chuàng)建Kubernetes集群”, 集群模板選擇第一個(gè)“標(biāo)準(zhǔn)托管集群”?
集群名稱選擇“yunpu-k8s”,選擇專(zhuān)有網(wǎng)絡(luò)和虛擬交換機(jī),勾選公網(wǎng)訪問(wèn)(為了開(kāi)發(fā)測(cè)試方便),選擇實(shí)例類(lèi)型(如果不考慮性能,單純?yōu)榱耸″X(qián),可以使用t5或者t6實(shí)例),其他默認(rèn)就好。?
注意:Pod CIDR,Service CIDR不能與VPC內(nèi)已有網(wǎng)段沖突,如果提示有錯(cuò)誤,請(qǐng)更換網(wǎng)絡(luò)的CIDR。?
在確認(rèn)對(duì)話框里勾選協(xié)議,完成創(chuàng)建。之后,確認(rèn)自己的集群運(yùn)行中。?
部署第一個(gè)應(yīng)用
容器服務(wù)的左側(cè)導(dǎo)航欄選擇“應(yīng)用-無(wú)狀態(tài)”,點(diǎn)擊“使用鏡像創(chuàng)建”,在“應(yīng)用基本信息”這一部分, 輸入應(yīng)用名稱yunpuapp, 選擇剛創(chuàng)建的集群yunpu-k8s, 其他默認(rèn)。?
下一步,容器配置,鏡像名稱一項(xiàng),點(diǎn)擊“選擇鏡像”,選擇剛才自動(dòng)從代碼創(chuàng)建的鏡像?
鏡像Tag一項(xiàng),點(diǎn)擊“選擇鏡像Tag”,選擇你剛剛自己定義的版本號(hào),比如1.4。其他保持默認(rèn)。?
點(diǎn)擊下一步。?
在高級(jí)配置里面,點(diǎn)擊“服務(wù)(Service)”旁邊的“創(chuàng)建”,?
端口映射一項(xiàng),輸入名稱port,注意服務(wù)端口80,容器端口5000.?
點(diǎn)擊“路由(Ingress)”旁邊的“創(chuàng)建”,輸入域名yunpuapp選擇剛剛創(chuàng)建的服務(wù)以及port。?
創(chuàng)建成功之后,可以看到應(yīng)用的訪問(wèn)方式,在“路由(Ingress)”里面,“規(guī)則”一項(xiàng),有一個(gè)鏈接。?
點(diǎn)擊這個(gè)鏈接,可以訪問(wèn)應(yīng)用,顯示內(nèi)容包含響應(yīng)時(shí)間、應(yīng)用運(yùn)行時(shí)的host name以及IP地址。多次刷新鏈接,可以看到不同的ip地址,這個(gè)說(shuō)明后面對(duì)應(yīng)的容器組Pod是多個(gè)。?
升級(jí)應(yīng)用
建議您自行嘗試更改應(yīng)用的代碼,比如簡(jiǎn)單更改webapp/app.py這個(gè)文件,完成git tag后,git push.
$ git tag release-v1.5 $ git push origin release-v1.5或者,您也可以直接在?https://code.aliyun.com/?控制臺(tái)上,為master分支新建標(biāo)簽release-v1.5
等待鏡像更新完成后,在“無(wú)狀態(tài)應(yīng)用”頁(yè),點(diǎn)擊應(yīng)用旁邊的“編輯”。?
編輯頁(yè)面,選擇新的版本1.5,點(diǎn)擊更新?
下一步
阿里云的容器服務(wù)Kubernetes不是只有托管版,還有專(zhuān)有版和Serverless版。專(zhuān)有版適合有豐富的容器運(yùn)維經(jīng)驗(yàn),希望長(zhǎng)時(shí)間運(yùn)行某個(gè)應(yīng)用,并且獨(dú)立自主運(yùn)維全部基礎(chǔ)設(shè)施的的大企業(yè)用戶。Serverless版適合不希望關(guān)心基礎(chǔ)設(shè)施的運(yùn)維,或者只是短時(shí)間運(yùn)行某個(gè)應(yīng)用從而希望開(kāi)箱即用的中小企業(yè)用戶。本文介紹的托管版則介于專(zhuān)有版和Serverless版兩者之間。
原文鏈接
本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。
總結(jié)
以上是生活随笔為你收集整理的一小时快速搭建基于阿里云容器服务-Kubernetes的Web应用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 聚焦数字化智慧安防的新型社区
- 下一篇: 超18万人次下载使用的 Cloud To