天天看點

一小時快速搭建基于阿裡雲容器服務-Kubernetes的Web應用本文面向的讀者準備代碼準備鏡像倉庫建立新鏡像建立Kubernetes叢集部署第一個應用更新應用下一步

原創作者: 雲普

本文面向的讀者

如果您是一個Kubernetes的初學者,本文可以幫助你快速在雲上搭建一個可實際使用的叢集環境,并釋出自己的第一個應用。你無須提前準備任何的硬體資源或者下載下傳任何的軟體包。

如果您已經有一個自建的Kubernetes叢集,想要嘗試阿裡雲上的托管叢集,本文可以幫助你快速完成上手操作,而無需詳細閱讀阿裡雲的幫助文檔,進而節省您的時間。您可以在有了端到端的初體驗之後,再有選擇的閱讀容器服務和容器鏡像服務的幫助文檔。

如果你已經有一個傳統的部署在雲上的Web應用(比如部署在雲上的ECS裡),想要進行容器化的改造,本文同樣可以幫助到您,您甚至無需深入學習Kubernetes,隻需了解基本概念即可。

準備代碼

本文的操作全部基于阿裡雲控制台,是以您隻需要一個阿裡雲控制台的登入賬号即可。

我們先把應用的代碼準備好。請登入

https://code.aliyun.com/

,登入完成後,通路

https://code.aliyun.com/shengbo.tsb/yunputest

,點選派生項目(fork)的圖示。

一小時快速搭建基于阿裡雲容器服務-Kubernetes的Web應用本文面向的讀者準備代碼準備鏡像倉庫建立新鏡像建立Kubernetes叢集部署第一個應用更新應用下一步

在随後彈出的确認框裡,點選頭像确認,完成派生。

一小時快速搭建基于阿裡雲容器服務-Kubernetes的Web應用本文面向的讀者準備代碼準備鏡像倉庫建立新鏡像建立Kubernetes叢集部署第一個應用更新應用下一步

備選方案:如果您派生遇到了困難,可以直接從

https://github.com/docker-training/webapp

clone這個項目,然後自己通過git push到code.aliyun.com上。

準備鏡像倉庫

登入

https://cr.console.aliyun.com/cn-beijing/instances/repositories

在左側導航欄選擇“命名空間”

一小時快速搭建基于阿裡雲容器服務-Kubernetes的Web應用本文面向的讀者準備代碼準備鏡像倉庫建立新鏡像建立Kubernetes叢集部署第一個應用更新應用下一步

點選“建立指令空間”,輸入名字“tengshengbo”。

一小時快速搭建基于阿裡雲容器服務-Kubernetes的Web應用本文面向的讀者準備代碼準備鏡像倉庫建立新鏡像建立Kubernetes叢集部署第一個應用更新應用下一步

确認命名空間建立完成之後,點選左側導航欄“鏡像倉庫”,點選“建立鏡像倉庫”,輸入倉庫名稱“yunputest”

一小時快速搭建基于阿裡雲容器服務-Kubernetes的Web應用本文面向的讀者準備代碼準備鏡像倉庫建立新鏡像建立Kubernetes叢集部署第一個應用更新應用下一步

在下一步,選擇剛剛建立的代碼倉庫。選擇“海外機器建構”以加快建構速度。提示:如果下拉框沒有代碼倉庫,點選右側的重新整理按鈕。

一小時快速搭建基于阿裡雲容器服務-Kubernetes的Web應用本文面向的讀者準備代碼準備鏡像倉庫建立新鏡像建立Kubernetes叢集部署第一個應用更新應用下一步

建立新鏡像

回到

點選yunputest這個項目,注意,是自己名下的項目,而不是shengbo.tsb這個賬号名下的項目。 點選“新标簽”.

一小時快速搭建基于阿裡雲容器服務-Kubernetes的Web應用本文面向的讀者準備代碼準備鏡像倉庫建立新鏡像建立Kubernetes叢集部署第一個應用更新應用下一步

輸入标簽名release-v1.5。注意,您必須使用release-v[版本号]形式,比如release-v2.5或者其他。

一小時快速搭建基于阿裡雲容器服務-Kubernetes的Web應用本文面向的讀者準備代碼準備鏡像倉庫建立新鏡像建立Kubernetes叢集部署第一個應用更新應用下一步

傳回鏡像倉庫清單,

選擇自己的鏡像倉庫,左側導航選擇“建構”,可以看到一個建構自動生成了。

一小時快速搭建基于阿裡雲容器服務-Kubernetes的Web應用本文面向的讀者準備代碼準備鏡像倉庫建立新鏡像建立Kubernetes叢集部署第一個應用更新應用下一步

建立Kubernetes叢集

通路容器服務控制台

https://cs.console.aliyun.com/#/k8s/cluster/list

選擇“建立Kubernetes叢集”, 叢集模闆選擇第一個“标準托管叢集”

一小時快速搭建基于阿裡雲容器服務-Kubernetes的Web應用本文面向的讀者準備代碼準備鏡像倉庫建立新鏡像建立Kubernetes叢集部署第一個應用更新應用下一步

叢集名稱選擇“yunpu-k8s”,選擇專有網絡和虛拟交換機,勾選公網通路(為了開發測試友善),選擇執行個體類型(如果不考慮性能,單純為了省錢,可以使用t5或者t6執行個體),其他預設就好。

一小時快速搭建基于阿裡雲容器服務-Kubernetes的Web應用本文面向的讀者準備代碼準備鏡像倉庫建立新鏡像建立Kubernetes叢集部署第一個應用更新應用下一步

注意:Pod CIDR,Service CIDR不能與VPC内已有網段沖突,如果提示有錯誤,請更換網絡的CIDR。

一小時快速搭建基于阿裡雲容器服務-Kubernetes的Web應用本文面向的讀者準備代碼準備鏡像倉庫建立新鏡像建立Kubernetes叢集部署第一個應用更新應用下一步

在确認對話框裡勾選協定,完成建立。之後,确認自己的叢集運作中。

一小時快速搭建基于阿裡雲容器服務-Kubernetes的Web應用本文面向的讀者準備代碼準備鏡像倉庫建立新鏡像建立Kubernetes叢集部署第一個應用更新應用下一步

部署第一個應用

容器服務的左側導航欄選擇“應用-無狀态”,點選“使用鏡像建立”,在“應用基本資訊”這一部分, 輸入應用名稱yunpuapp, 選擇剛建立的叢集yunpu-k8s, 其他預設。

一小時快速搭建基于阿裡雲容器服務-Kubernetes的Web應用本文面向的讀者準備代碼準備鏡像倉庫建立新鏡像建立Kubernetes叢集部署第一個應用更新應用下一步

下一步,容器配置,鏡像名稱一項,點選“選擇鏡像”,選擇剛才自動從代碼建立的鏡像

一小時快速搭建基于阿裡雲容器服務-Kubernetes的Web應用本文面向的讀者準備代碼準備鏡像倉庫建立新鏡像建立Kubernetes叢集部署第一個應用更新應用下一步

鏡像Tag一項,點選“選擇鏡像Tag”,選擇你剛剛自己定義的版本号,比如1.4。其他保持預設。

點選下一步。

一小時快速搭建基于阿裡雲容器服務-Kubernetes的Web應用本文面向的讀者準備代碼準備鏡像倉庫建立新鏡像建立Kubernetes叢集部署第一個應用更新應用下一步

在進階配置裡面,點選“服務(Service)”旁邊的“建立”,

一小時快速搭建基于阿裡雲容器服務-Kubernetes的Web應用本文面向的讀者準備代碼準備鏡像倉庫建立新鏡像建立Kubernetes叢集部署第一個應用更新應用下一步

端口映射一項,輸入名稱port,注意服務端口80,容器端口5000.

一小時快速搭建基于阿裡雲容器服務-Kubernetes的Web應用本文面向的讀者準備代碼準備鏡像倉庫建立新鏡像建立Kubernetes叢集部署第一個應用更新應用下一步

點選“路由(Ingress)”旁邊的“建立”,輸入域名yunpuapp選擇剛剛建立的服務以及port。

一小時快速搭建基于阿裡雲容器服務-Kubernetes的Web應用本文面向的讀者準備代碼準備鏡像倉庫建立新鏡像建立Kubernetes叢集部署第一個應用更新應用下一步

建立成功之後,可以看到應用的通路方式,在“路由(Ingress)”裡面,“規則”一項,有一個連結。

一小時快速搭建基于阿裡雲容器服務-Kubernetes的Web應用本文面向的讀者準備代碼準備鏡像倉庫建立新鏡像建立Kubernetes叢集部署第一個應用更新應用下一步

點選這個連結,可以通路應用,顯示内容包含響應時間、應用運作時的host name以及IP位址。多次重新整理連結,可以看到不同的ip位址,這個說明後面對應的容器組Pod是多個。

一小時快速搭建基于阿裡雲容器服務-Kubernetes的Web應用本文面向的讀者準備代碼準備鏡像倉庫建立新鏡像建立Kubernetes叢集部署第一個應用更新應用下一步

更新應用

建議您自行嘗試更改應用的代碼,比如簡單更改webapp/app.py這個檔案,完成git tag後,git push.

$ git tag release-v1.5
$ git push origin release-v1.5           

或者,您也可以直接在

控制台上,為master分支建立标簽release-v1.5

等待鏡像更新完成後,在“無狀态應用”頁,點選應用旁邊的“編輯”。

一小時快速搭建基于阿裡雲容器服務-Kubernetes的Web應用本文面向的讀者準備代碼準備鏡像倉庫建立新鏡像建立Kubernetes叢集部署第一個應用更新應用下一步

編輯頁面,選擇新的版本1.5,點選更新

一小時快速搭建基于阿裡雲容器服務-Kubernetes的Web應用本文面向的讀者準備代碼準備鏡像倉庫建立新鏡像建立Kubernetes叢集部署第一個應用更新應用下一步

下一步

阿裡雲的容器服務Kubernetes不是隻有托管版,還有專有版和Serverless版。專有版适合有豐富的容器運維經驗,希望長時間運作某個應用,并且獨立自主運維全部基礎設施的的大企業使用者。Serverless版适合不希望關心基礎設施的運維,或者隻是短時間運作某個應用進而希望開箱即用的中小企業使用者。本文介紹的托管版則介于專有版和Serverless版兩者之間。

如果您想了解更多,建議參考以下資料:

容器服務Kubernetes版幫助文檔:

https://help.aliyun.com/product/85222.html

容器鏡像服務幫助文檔:

https://help.aliyun.com/product/60716.html

如果您需要針對容器服務進行運維,參考以下資料:

運維編排:

https://help.aliyun.com/product/119529.html

資源編排:

https://help.aliyun.com/product/28850.html

繼續閱讀