Opensetack + Kubernetes(K8S)黄金搭档漫谈
?
?上面左邊是我的個人微信,如需進一步溝通,請加微信。 ?右邊是我的公眾號“Openstack私有云”,如有興趣,請關(guān)注。
????前段時間去參加一個devops的峰會,參會的人大多數(shù)都是互聯(lián)網(wǎng)企業(yè)的從業(yè)人員,講師也多是互聯(lián)網(wǎng)企業(yè)的技術(shù)專家,主題都是開源社區(qū)現(xiàn)階段比較活躍的項目,具體的內(nèi)容我記得不是很多,對于我個人來講,參加此次峰會后我最大的感觸或者收獲,就是看到了現(xiàn)在的IT技術(shù)發(fā)展趨勢向容器化方向發(fā)展已經(jīng)確定無疑。
????對于生產(chǎn)平臺的全生命周期管理,是每一個IT建設(shè)和維護人員所要面對的難題。讓我們設(shè)想一個場景:
????一個IT互聯(lián)網(wǎng)企業(yè)運營一個互聯(lián)網(wǎng)產(chǎn)品,有復雜的業(yè)務(wù)邏輯,業(yè)務(wù)程序和數(shù)據(jù)庫及接口程序等,起始階段需要搭建基礎(chǔ)IT硬件設(shè)施提供操作系統(tǒng)和網(wǎng)絡(luò)、存儲,為了加快建設(shè)步伐,可以直接使用公有云,然后在私有云或者公有云上面部署自己的應(yīng)用和數(shù)據(jù)庫網(wǎng)關(guān)接口等等,然后對外開始提供業(yè)務(wù)。接著隨著業(yè)務(wù)的擴張,業(yè)務(wù)在兩個維度開始擴容,一方面是業(yè)務(wù)功能擴容,一方面是業(yè)務(wù)量的擴容,兩個維度在同步發(fā)生,此時運維人員面對嚴峻的挑戰(zhàn),既要平行擴容相應(yīng)的功能節(jié)點,比如web服務(wù)和數(shù)據(jù)庫服務(wù)器升級,還要測試新功能并安全平穩(wěn)升級新業(yè)務(wù)系統(tǒng)版本。
????現(xiàn)在大部分的企業(yè)對于上面場景的兩項工作都是會花費巨大的時間和精力去進行管理,每次的變更都需要提前規(guī)劃并制定實施方案并在合適的時間割接升級或者擴容。在基礎(chǔ)設(shè)施領(lǐng)域出現(xiàn)了云計算,解決了基礎(chǔ)計算資源存儲資源網(wǎng)絡(luò)資源的快速交付和靈活管理的問題,在業(yè)務(wù)管理方面同樣也出現(xiàn)了革命性的解決方案,那就是容器編排技術(shù),具體的產(chǎn)品有以kubernetes(K8S)為代表的開源版本,和以紅帽O(jiān)penshift為代表的各個商業(yè)版本。有了這兩個解決方案,對于上面提到的那個場景就有了很好的應(yīng)對方案。提煉一下,如果從開源角度,那就是:?
?????Openstack + Kubernetes(K8S)!
????Openstack其實已經(jīng)在近兩年已經(jīng)開始擁抱容器技術(shù)了,現(xiàn)在最活躍的一個子項目之一Kolla,就是通過docker來對Openstack的組件進行部署和管理,即Openstack本身就被容器化了,具體可以參考另一篇文章“openstack 之 Kolla部署指南(容器化方式)” 。K8S是容器編排技術(shù),用于生產(chǎn)環(huán)境情景下的應(yīng)用系統(tǒng)管理,K8S的官方定義:
????Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications.
????Kubernetes是一個開源系統(tǒng),用于自動化容器化應(yīng)用程序的部署,擴展和管理。
????Kubernetes 已經(jīng)承擔了google的生產(chǎn)應(yīng)用已經(jīng)有15年,讓google有能力做到一周內(nèi)10億級別的容器的增減調(diào)節(jié)而不增加運維團隊;無論的你的應(yīng)用多么的復雜,它都能從容應(yīng)對,自動調(diào)節(jié);它可以在私有云、混合云、公有云、原始的硬件平臺環(huán)境運行,沒有環(huán)境依賴。它主要有以下的特性:
????自動管理容器
????根據(jù)資源需求和其他約束自動放置容器,同時不犧牲可用性。混合關(guān)鍵和盡力而為的工作負載,以提高利用率并節(jié)省更多資源。
????自愈
????重新啟動失敗的容器,在節(jié)點死亡時替換容器并重新安排容器,殺死不響應(yīng)用戶定義運行狀況檢查的容器,并在客戶端準備好提供服務(wù)之前不會將它們通告給客戶端。
????
????水平縮放
????使用一個簡單的命令,使用UI或根據(jù)CPU使用情況自動擴展和縮小您的應(yīng)用程序。
????
????服務(wù)發(fā)現(xiàn)和負載平衡
????無需修改應(yīng)用程序即可使用不熟悉的服務(wù)發(fā)現(xiàn)機制。Kubernetes為容器提供了自己的IP地址和一組容器的單個DNS名稱,并且可以在它們之間進行負載平衡。
????
????自動發(fā)布和回滾
????Kubernetes逐步推出對應(yīng)用程序或其配置的更改,同時監(jiān)視應(yīng)用程序運行狀況以確保它不會同時終止所有實例。如果出現(xiàn)問題,Kubernetes會為您回滾更改。充分利用日益增長的部署解決方案生態(tài)系統(tǒng)。
????
????密碼和配置管理
????部署和更新密碼和應(yīng)用程序配置,無需重新構(gòu)建映像,也不會在您的堆棧配置中暴露秘密。
????
????存儲編排
????自動安裝您選擇的存儲系統(tǒng),無論是從本地存儲,公共云提供商(如GCP或AWS)還是網(wǎng)絡(luò)存儲系統(tǒng)(如NFS,iSCSI,Gluster,Ceph,Cinder或Flocker)。
????
????批量執(zhí)行
????除了服務(wù)之外,Kubernetes還可以管理您的批處理和CI工作負載,并根據(jù)需要替換失敗的容器。
????
????所以可以說,如果要講到生產(chǎn)環(huán)境的搭建和運維,就不能不對Kubernetes重點關(guān)注,因為這是一個趨勢。
????
? ??
轉(zhuǎn)載于:https://blog.51cto.com/yuweibing/2113202
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的Opensetack + Kubernetes(K8S)黄金搭档漫谈的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: kafka环境安装及简单使用(单机版)
- 下一篇: 以太坊 p2p Server 原理及实现