Kubernetes 1.2新功能解析:使用Deployment
編者注:這是Kubernetes1.2新功能深度介紹系列的第7篇帖子。
Kubernetes令部署應用、管理應用變得簡單直白,令大多數操作簡化為單個API或單個命令行,包括發布新的應用程序,canary測試和升級。那么為什么我們還需要部署呢?
自動化Deployment和滾動更新程序。相比于kubectl滾動更新,Deployment API更加快速,具有描述性,實現服務端,還有更多的功能(比如,即使是在滾動更新完成之后,你也可以回滾到之前的版本,)。
在今天的博客中,我們介紹的內容包括如何使用Deployment來:
配置/推出一個新的應用程序
階段性更新應用程序,中途沒有服務中斷
如果在你部署/更新應用的時候出現錯誤,你可以回滾到之前的版本。
讓我們來嘗試使用一下Deployment吧~
準備開始
如果你想要試用下面這個例子,基本上需要滿足以下三個要求:
一個正在運行的kubernetes集群:如果你現在還沒有創建過集群的話,查看教程:點我,里面有各種平臺上的部署方案,包括你的筆記本,虛擬機,裸機服務器等等。
Kubectl,Kubernetes CLI:如果在運行kubectl cluster-info之后,看到了一個URL回應,那么就準備啟動吧。否則的話,就按照指示安裝配置kubectl;如果你有谷歌 GCE集群的話,也可以按照主機解決方案(點我)的指示來安裝。
這個demo的配置文件,可以點擊:點我
如果不想自己動手運行這個例子,那也可以。看這個視頻了解每一步的細節。
點擊這里看視頻,記得翻墻哦
開始
配置文件包括一個靜態頁面。首先,我們想要開始為它的靜態內容服務。從Kubernetes repository的root開始,運行:
這個在8001端口運行了一個proxy。你現在可以訪問:點我 ,就是demo網頁版(它現在登錄進去顯示出來的是一個空白頁面)。現在我們想要運行一個應用,并且將它展示到網頁上。
這些代碼用“update-demo:nautilus”部署了一個應用的副本,你可以點擊這里觀看:點我
網頁上展示的卡片代表的是:一個Kubernetes pod,pod的名稱(ID),狀態,鏡像和標簽。
數量變大
現在我們想要更多這個應用的復制件!
更新你的應用程序
更新應用會怎么樣呢?
此代碼打開了你的默認編輯器,然后你可以在fly上面更新配置。找到.spec.template.spec.containers[0].image,然后修改nautilus到kitty,然后你會看到:
此代碼打開了你的默認編輯器,然后你可以在fly上面更新配置。找到.spec.template.spec.containers[0].image,然后修改nautilus到kitty,然后你會看到:
過一會兒,你就會發現更新似乎被絆住了。發生了什么呢?
調試rollout
如果你看的再仔細一點,你會發現那些帶有“Kitty”標記的鏡像仍處于待定狀態。一旦運行失敗,Deployment會自動停止roll。讓我們來看一看新的pod上發生了什么:
看一下這個pod的events,你會注意到Kubernetes由于找不到“kitty”而無法pull鏡像:
回滾
好的,現在我們想要撤銷做出的修改,然后花時間理清楚我們應該使用哪個鏡像標簽。
所有東西都恢復到正常,耶!
為了學習更多的關于回滾的知識,訪問:點我。
更新你的應用程序
之后,我們終于找出正確的鏡像標簽是“kitten”,而不是“Kitty”。現在將.spec.template.spec.containers[0].的鏡像標簽從“nautilus”改到“kitten”。
現在在demo網站上可以看到有4只小貓,這也就意味著我們已經成功地更新了應用!如果想要了解這背后的鏡像,來看這個的Deployment吧:
從events章節可以看到配置正在管理另一個叫做Replica Set的資源,每一個都管理不同pod模版的副本的數字。
結論
現在,你已經了解了Deployment對象的基本用法:
部署有Deployment的應用,使用kubectl來運行
通過更新Deployment來更新應用,用kubectl編輯
回滾到之前部署的應用,用Kubectl rollout撤銷
但是還有很多Deployment里的東西,在這里篇幅有限,無法詳述。為了探究更多,點擊這里了解更多:點我
注意:在Kubernetes1.2中,Deployment(測試版)功能完善,是默認啟用的版本。你們之中試用過Kubernetes1.1中的Deployment的人,在Kubernetes1.2上嘗試Deployment之前請刪除所有的Deployment1.1資源(包括他們管理的RC和pods)。這個步驟很有必要,因為我們對API作了一些反向不兼容的修改。
獲取更多信息,請點擊:點我
原文鏈接
(如果需要轉載,請聯系我們哦,尊重知識產權人人有責)
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Kubernetes 1.2新功能解析:使用Deployment的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用多路由器进行家庭组网 多台路由器 家庭
- 下一篇: Shareplex 错误 can't o