一小时快速搭建基于阿里云容器服务-Kubernetes的Web应用
本文面向的讀者
如果您是一個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.
$ git tag release-v1.5 $ git push origin release-v1.5或者,您也可以直接在?https://code.aliyun.com/?控制臺上,為master分支新建標簽release-v1.5
等待鏡像更新完成后,在“無狀態應用”頁,點擊應用旁邊的“編輯”。?
編輯頁面,選擇新的版本1.5,點擊更新?
下一步
阿里云的容器服務Kubernetes不是只有托管版,還有專有版和Serverless版。專有版適合有豐富的容器運維經驗,希望長時間運行某個應用,并且獨立自主運維全部基礎設施的的大企業用戶。Serverless版適合不希望關心基礎設施的運維,或者只是短時間運行某個應用從而希望開箱即用的中小企業用戶。本文介紹的托管版則介于專有版和Serverless版兩者之間。
原文鏈接
本文為阿里云原創內容,未經允許不得轉載。
總結
以上是生活随笔為你收集整理的一小时快速搭建基于阿里云容器服务-Kubernetes的Web应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 聚焦数字化智慧安防的新型社区
- 下一篇: 超18万人次下载使用的 Cloud To