本文面向的讀者
如果您是一個Kubernetes的初學者,本文可以幫助你快速在雲上搭建一個可實際使用的集群環境,並發布自己的第一個應用。你無須提前准備任何的硬件資源或者下載任何的軟件包。
如果您已經有一個自建的Kubernetes集群,想要嘗試阿里雲上的托管集群,本文可以幫助你快速完成上手操作,而無需詳細閱讀阿里雲的幫助文檔,從而節省您的時間。您可以在有了端到端的初體驗之后,再有選擇的閱讀容器服務和容器鏡像服務的幫助文檔。
如果你已經有一個傳統的部署在雲上的Web應用(比如部署在雲上的ECS里),想要進行容器化的改造,本文同樣可以幫助到您,您甚至無需深入學習Kubernetes,只需了解基本概念即可。
准備代碼
本文的操作全部基於阿里雲控制台,因此您只需要一個阿里雲控制台的登錄賬號即可。
我們先把應用的代碼准備好。請登錄https://code.aliyun.com/ ,登錄完成后,訪問https://code.aliyun.com/shengbo.tsb/yunputest ,點擊派生項目(fork)的圖標。

在隨后彈出的確認框里,點擊頭像確認,完成派生。

備選方案:如果您派生遇到了困難,可以直接從https://github.com/docker-training/webapp clone這個項目,然后自己通過git push到code.aliyun.com上。
准備鏡像倉庫
登錄https://cr.console.aliyun.com/cn-beijing/instances/repositories
在左側導航欄選擇“命名空間”

點擊“創建命令空間”,輸入名字“tengshengbo”。

確認命名空間創建完成之后,點擊左側導航欄“鏡像倉庫”,點擊“創建鏡像倉庫”,輸入倉庫名稱“yunputest”

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

創建新鏡像
回到https://code.aliyun.com/ 點擊yunputest這個項目,注意,是自己名下的項目,而不是shengbo.tsb這個賬號名下的項目。 點擊“新標簽”.

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

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

創建Kubernetes集群
訪問容器服務控制台 https://cs.console.aliyun.com/#/k8s/cluster/list
選擇“創建Kubernetes集群”, 集群模板選擇第一個“標准托管集群”

集群名稱選擇“yunpu-k8s”,選擇專有網絡和虛擬交換機,勾選公網訪問(為了開發測試方便),選擇實例類型(如果不考慮性能,單純為了省錢,可以使用t5或者t6實例),其他默認就好。

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

在確認對話框里勾選協議,完成創建。之后,確認自己的集群運行中。
![]()
部署第一個應用
容器服務的左側導航欄選擇“應用-無狀態”,點擊“使用鏡像創建”,在“應用基本信息”這一部分, 輸入應用名稱yunpuapp, 選擇剛創建的集群yunpu-k8s, 其他默認。

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

鏡像Tag一項,點擊“選擇鏡像Tag”,選擇你剛剛自己定義的版本號,比如1.4。其他保持默認。
點擊下一步。

在高級配置里面,點擊“服務(Service)”旁邊的“創建”,

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

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

創建成功之后,可以看到應用的訪問方式,在“路由(Ingress)”里面,“規則”一項,有一個鏈接。

點擊這個鏈接,可以訪問應用,顯示內容包含響應時間、應用運行時的host name以及IP地址。多次刷新鏈接,可以看到不同的ip地址,這個說明后面對應的容器組Pod是多個。

升級應用
建議您自行嘗試更改應用的代碼,比如簡單更改webapp/app.py這個文件,完成git tag后,git push.

或者,您也可以直接在 https://code.aliyun.com/ 控制台上,為master分支新建標簽release-v1.5
等待鏡像更新完成后,在“無狀態應用”頁,點擊應用旁邊的“編輯”。
![]()
編輯頁面,選擇新的版本1.5,點擊更新

下一步
阿里雲的容器服務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
本文作者:雲普
本文為阿里雲內容,未經允許不得轉載。
