如果您是一個(gè)Kubernetes的初學(xué)者,本文可以幫助你快速在云上搭建一個(gè)可實(shí)際使用的集群環(huán)境,并發(fā)布自己的第一個(gè)應(yīng)用。你無須提前準(zhǔn)備任何的硬件資源或者下載任何的軟件包。 如果您已經(jīng)有一個(gè)自建的Kubernetes集群,想要嘗試阿里云上的托管集群,本文可以幫助你快速完成上手操作,而無需詳細(xì)閱讀阿里云的幫助文檔,從而節(jié)省您的時(shí)間。您可以在有了端到端的初體驗(yàn)之后,再有選擇的閱讀容器服務(wù)和容器鏡像服務(wù)的幫助文檔。 如果你已經(jīng)有一個(gè)傳統(tǒng)的部署在云上的Web應(yīng)用(比如部署在云上的ECS里),想要進(jìn)行容器化的改造,本文同樣可以幫助到您,您甚至無需深入學(xué)習(xí)Kubernetes,只需了解基本概念即可。
準(zhǔn)備代碼
本文的操作全部基于阿里云控制臺(tái),因此您只需要一個(gè)阿里云控制臺(tái)的登錄賬號(hào)即可。 我們先把應(yīng)用的代碼準(zhǔn)備好。請(qǐng)登錄https://code.aliyun.com/ ,登錄完成后,訪問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)目,然后自己通過git push到code.aliyun.com上。
準(zhǔn)備鏡像倉庫
登錄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)航欄“鏡像倉庫”,點(diǎn)擊“創(chuàng)建鏡像倉庫”,輸入倉庫名稱“yunputest”

在下一步,選擇剛剛建立的代碼倉庫。選擇“海外機(jī)器構(gòu)建”以加快構(gòu)建速度。提示:如果下拉框沒有代碼倉庫,點(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或者其他。

返回鏡像倉庫列表,https://cr.console.aliyun.com/cn-beijing/instances/repositories 選擇自己的鏡像倉庫,左側(cè)導(dǎo)航選擇“構(gòu)建”,可以看到一個(gè)構(gòu)建自動(dòng)生成了。

創(chuàng)建Kubernetes集群
訪問容器服務(wù)控制臺(tái) https://cs.console.aliyun.com/#/k8s/cluster/list 選擇“創(chuàng)建Kubernetes集群”, 集群模板選擇第一個(gè)“標(biāo)準(zhǔn)托管集群”

集群名稱選擇“yunpu-k8s”,選擇專有網(wǎng)絡(luò)和虛擬交換機(jī),勾選公網(wǎng)訪問(為了開發(fā)測(cè)試方便),選擇實(shí)例類型(如果不考慮性能,單純?yōu)榱耸″X,可以使用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)用-無狀態(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)用的訪問方式,在“路由(Ingress)”里面,“規(guī)則”一項(xiàng),有一個(gè)鏈接。

點(diǎn)擊這個(gè)鏈接,可以訪問應(yīng)用,顯示內(nèi)容包含響應(yīng)時(shí)間、應(yīng)用運(yùn)行時(shí)的host name以及IP地址。多次刷新鏈接,可以看到不同的ip地址,這個(gè)說明后面對(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
等待鏡像更新完成后,在“無狀態(tài)應(yīng)用”頁,點(diǎn)擊應(yīng)用旁邊的“編輯”。

編輯頁面,選擇新的版本1.5,點(diǎn)擊更新

下一步
阿里云的容器服務(wù)Kubernetes不是只有托管版,還有專有版和Serverless版。專有版適合有豐富的容器運(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)用從而希望開箱即用的中小企業(yè)用戶。本文介紹的托管版則介于專有版和Serverless版兩者之間。
電子發(fā)燒友App




















































評(píng)論