摘要:環(huán)境復(fù)雜性生態(tài)系統(tǒng)易變性跨不同分布式基礎(chǔ)架構(gòu)的部署本文將為你解析生產(chǎn)環(huán)境部署容器的五大挑戰(zhàn)及應(yīng)對之策。因此,在整個(gè)生產(chǎn)環(huán)境中創(chuàng)建監(jiān)視和銷毀的組件需求總量呈指數(shù)級(jí)增長,從而顯著增加了基于容器的管理環(huán)境的復(fù)雜性。
Docker容器使應(yīng)用程序開發(fā)變得更容易,但在生產(chǎn)中部署容器可能會(huì)很難。
環(huán)境復(fù)雜性、生態(tài)系統(tǒng)易變性、跨不同分布式基礎(chǔ)架構(gòu)的部署......
本文將為你解析生產(chǎn)環(huán)境部署容器的五大挑戰(zhàn)及應(yīng)對之策。
軟件開發(fā)人員通常只關(guān)注在特定基礎(chǔ)架構(gòu)上運(yùn)行的單個(gè)應(yīng)用程序、應(yīng)用程序堆棧或工作負(fù)載。然而,在生產(chǎn)環(huán)境中,一組不同的應(yīng)用程序常需在各種技術(shù)(例如Java,LAMP等)上運(yùn)行,而這些技術(shù)又需在本地、云上或二者結(jié)合的異構(gòu)基礎(chǔ)設(shè)施上部署。這給生產(chǎn)環(huán)境中容器化應(yīng)用程序的運(yùn)行帶來了一些挑戰(zhàn):
控制高度密集、快速變化的環(huán)境的復(fù)雜性
充分利用極為易變的技術(shù)生態(tài)系統(tǒng)
確保開發(fā)人員自由創(chuàng)新
跨不同的分布式基礎(chǔ)架構(gòu)部署容器
執(zhí)行組織戰(zhàn)略管理
控制高度密集、快速變化的環(huán)境的復(fù)雜性2016年6月Cloud Foundry公司發(fā)布的《希望與現(xiàn)實(shí):容器,2016》報(bào)告顯示,45%的受訪者表示,他們最擔(dān)心的是Docker部署太復(fù)雜,無法融入到他們的環(huán)境中。[1]其中很大的原因是容器化環(huán)境的密度和波動(dòng)性。由于不需要為每個(gè)容器加載操作系統(tǒng)和內(nèi)核,因此與傳統(tǒng)的虛擬化環(huán)境相比,容器化環(huán)境能夠在給定數(shù)量的基礎(chǔ)架構(gòu)內(nèi)實(shí)現(xiàn)更高的工作負(fù)載密度。因此,在整個(gè)生產(chǎn)環(huán)境中創(chuàng)建、監(jiān)視和銷毀的組件需求總量呈指數(shù)級(jí)增長,從而顯著增加了基于容器的管理環(huán)境的復(fù)雜性。
容器時(shí)代,不僅有更多的東西需要管理,而且它們相比以往任何時(shí)候都要變化更快。Datadog調(diào)查顯示,傳統(tǒng)的和基于云的虛擬機(jī)的平均壽命大約只有短短15天,Docker容器的平均壽命更短,僅為2.5天。[2]這就導(dǎo)致了需要多帶帶管理和監(jiān)控的事物數(shù)量呈數(shù)量級(jí)增長。
由于架構(gòu)的復(fù)雜性,這些高密集、快變化的環(huán)境就更進(jìn)一步復(fù)雜化了。容器通常部署在高度分布式的單個(gè)集群或多集群環(huán)境中。這些群集的組成是高度分散的,它們可以在本地、云中部署或兩者并舉。雖然60%的容器在亞馬遜網(wǎng)絡(luò)服務(wù)(AWS)上運(yùn)行,但仍有40%在本地運(yùn)行。[3]
因此,組織需要一種更便捷的方法來編排容器,以及管理多容器、多主機(jī)應(yīng)用程序的底層基礎(chǔ)架構(gòu)服務(wù)。這對于具有微服務(wù)體系結(jié)構(gòu)的應(yīng)用程序尤為重要,例如,一個(gè)Web應(yīng)用程序,包括一個(gè)容器集群運(yùn)行Web服務(wù)器前端的多個(gè)實(shí)例的主機(jī)(故障轉(zhuǎn)移和負(fù)載均衡)以及多個(gè)后端服務(wù),是各自運(yùn)行在不同的容器中的。
利用高度波動(dòng)的技術(shù)生態(tài)系統(tǒng)Docker的生態(tài)系統(tǒng)復(fù)雜多變。在過去幾年中,第三方工具和服務(wù)大量出現(xiàn),幫助開發(fā)人員在開發(fā)過程中部署、配置和管理他們的容器化工作流程。基于開源技術(shù),這些工具和服務(wù)的變化之快以及新文檔的數(shù)量之多,使構(gòu)建穩(wěn)定的技術(shù)棧以實(shí)現(xiàn)在生產(chǎn)中運(yùn)行容器變得充滿挑戰(zhàn)。這也使得公司難以建立和維護(hù)利用豐富的生態(tài)系統(tǒng)所需的工程技能。根據(jù)RightScale公司第五個(gè)年度“云調(diào)查狀況”顯示,對于目前還未使用容器的公司而言,迄今為止,缺乏經(jīng)驗(yàn)是采用容器面臨的最大挑戰(zhàn)(39%)。[4]
確保開發(fā)人員自由創(chuàng)新在簡化容器管理中,開發(fā)人員能夠不失靈活創(chuàng)新、不斷探索新技術(shù)的重要性越發(fā)凸顯。他們需要有足夠的自由來挑選他們需要的工具和框架。RedMonk分析公司將這稱為“無限發(fā)展時(shí)代”。[5]當(dāng)開發(fā)人員需要解決什么問題時(shí),他們不再詢問他們“可以”使用什么工具,而是會(huì)直接尋找最佳工具。 他們還喜歡選擇最新版本,雖然新版本不一定是最穩(wěn)定的,但是他們可以快速利用其新功能。與此同時(shí),他們也越來越需要承擔(dān)責(zé)任,確保他們創(chuàng)建的任意應(yīng)用程序邏輯在生產(chǎn)中能夠正常運(yùn)行,如果出現(xiàn)問題,也能快速修復(fù)它。這表示如果部署遇到問題,就需要他們能夠回滾部署。
開發(fā)人員需要root訪問的自由,他們希望能夠安裝任何他們喜歡的開源軟件。因此他們通常會(huì)避免傳統(tǒng)的平臺(tái)即服務(wù)(PaaS)解決方案。把PaaS從容器中抽取出來,這樣開發(fā)人員就可以不用管理容器而是專注于編碼。然而,一家供應(yīng)商或基礎(chǔ)設(shè)施提供商提供的多是專用服務(wù),不像本地開源堆棧那樣通用。開發(fā)人員的創(chuàng)造力很大程度上也受限于此。
跨不同的分布式基礎(chǔ)架構(gòu)部署容器容器的主要優(yōu)點(diǎn)之一就在于它們是可移植的——一個(gè)應(yīng)用程序,其所有的依賴關(guān)系可以捆綁到一個(gè)獨(dú)立于Linux內(nèi)核、平臺(tái)分布或部署模型的主機(jī)版本的單個(gè)容器中。此容器可以傳輸?shù)搅硪慌_(tái)運(yùn)行Docker的主機(jī)上,并且在沒有兼容性問題的情況下執(zhí)行。云和數(shù)據(jù)中心之間的基礎(chǔ)設(shè)施服務(wù)差異巨大,這導(dǎo)致應(yīng)用程序幾乎不可能實(shí)現(xiàn)真正的可移植性。因此利用容器使應(yīng)用程序跨不同基礎(chǔ)設(shè)施需要的不僅僅是一個(gè)用于運(yùn)輸代碼的標(biāo)準(zhǔn)化單元,它還需要基礎(chǔ)設(shè)施服務(wù),包括:
運(yùn)行Docker容器的主機(jī)(CPU、內(nèi)存、存儲(chǔ)和網(wǎng)絡(luò)連接),包括在本地以及云上運(yùn)行的虛擬機(jī)或物理機(jī)器;
協(xié)調(diào)好端口映射或軟件定義的網(wǎng)絡(luò),使不同主機(jī)上的容器能夠相互通信;
向Internet提供負(fù)載均衡器服務(wù);
DNS,通常用于實(shí)現(xiàn)服務(wù)發(fā)現(xiàn);
集成的健康檢查,確保應(yīng)對請求的使用的都是健康的容器服務(wù);
某些事件觸發(fā)執(zhí)行操作時(shí)的應(yīng)對措施,例如在主機(jī)發(fā)生故障后重新啟動(dòng)新容器,確保可用的正常容器始終維持一個(gè)固定的數(shù)量,或者創(chuàng)建新主機(jī)和容器以響應(yīng)增加的負(fù)載;
通過現(xiàn)有容器創(chuàng)建新容器來擴(kuò)展服務(wù);
借助存儲(chǔ)快照和備份功能以備份狀態(tài)容器,從而進(jìn)行災(zāi)難恢復(fù);
部署好這些基礎(chǔ)架構(gòu)服務(wù),組織面臨的難題就變成了如何監(jiān)控它們。DevOps團(tuán)隊(duì)需要迅速解決這些問題。因此,監(jiān)控和記錄基礎(chǔ)架構(gòu)性能,并在出現(xiàn)問題時(shí)提醒DevOps團(tuán)隊(duì),這是任何一個(gè)容器管理所要具備的重要功能。
執(zhí)行組織策略和管理與部署容器相關(guān)的安全性和合規(guī)性問題是必須解決的,這是所有在生產(chǎn)中使用容器的大企業(yè)都一定會(huì)關(guān)注的問題,特別是那些受監(jiān)管的行業(yè),如金融和醫(yī)療保健。Docker等公司正在努力修復(fù)這些問題,并通過在工具鏈上創(chuàng)建新的軟件和集成作為應(yīng)對這個(gè)問題。
然而,在應(yīng)用程序容器安全性和企業(yè)使用虛擬機(jī)之間仍缺乏平衡。這包括實(shí)施組織策略,確保安全訪問容器和集群管理,包括管理傳輸層安全(TLS)證書。通過基于角色的訪問控制(RBAC),用戶和用戶組能夠共享或拒絕訪問資源和環(huán)境(例如開發(fā)或生產(chǎn))。 用戶身份驗(yàn)證需要與Active Directory、LDAP和/或GitHub等活動(dòng)目錄集成。
巧妙利用工具,應(yīng)對五大挑戰(zhàn)容器使軟件開發(fā)變得更容易,使您能夠更快地編寫代碼并更好地運(yùn)行它。 然而,在生產(chǎn)中運(yùn)行容器可能會(huì)很困難。 有各種各樣的技術(shù)需要集成和管理,并且新的工具層出不窮。 Rancher使您可以輕松管理運(yùn)行容器的方方面面。那些集成復(fù)雜的開源技術(shù)必備的技術(shù)技能,你可能再也不需要了。
想在生產(chǎn)環(huán)境中的任一基礎(chǔ)設(shè)施上運(yùn)行Docker,Rancher可以提供你需要的一切。Rancher讓你可以輕松配置和集成可移植的基礎(chǔ)設(shè)施服務(wù)層。Rancher提供了一個(gè)易于使用的用戶界面,您可以利用其豐富的集合編排功能,隨后通過單擊來部署容器。Rancher強(qiáng)大的Catalog可以將配置文件打包為模板并在組織中共享。目前, Rancher已經(jīng)擁有超過2000萬次下載和并提供企業(yè)級(jí)支持,很快成為在生產(chǎn)環(huán)境中運(yùn)行容器的首選開源平臺(tái)。
Rancher使用起來非常簡單只需按照下列步驟操作:
嘗試一下:您可以先使用Rancher Sandbox。它是公開托管的,并且會(huì)自動(dòng)更新。
下載:您可以把Rancher部署為一個(gè)Docker容器,甚至還可以在您的集群或筆記本電腦上部署Rancher。
開始:如果您按照快速入門指南中的步驟操作,部署Rancher只需不到5分鐘。
使用文檔:Rancher使用起來非常簡便。但Rancher的技術(shù)文檔中仍有大量信息,以備用戶不時(shí)之需。
利用我們的強(qiáng)大的用戶社區(qū):您可以登陸我們的論壇,這里是新產(chǎn)品發(fā)布、與同行以及和Rancher工程師交流互動(dòng)的最佳場所。
資料來源:
[1] https://www.cloudfoundry.org/...
[2] https://www.datadoghq.com/doc...
[3] https://clusterhq.com/assets/...
[4] http://www.rightscale.com/blo...
[5] http://redmonk.com/fryan/2016...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/26813.html
摘要:年月日,研究人員通過郵件列表披露了容器逃逸漏洞的詳情,根據(jù)的規(guī)定會(huì)在天后也就是年月日公開。在號(hào)當(dāng)天已通過公眾號(hào)文章詳細(xì)分析了漏洞詳情和用戶的應(yīng)對之策。 美國時(shí)間2019年2月11日晚,runc通過oss-security郵件列表披露了runc容器逃逸漏洞CVE-2019-5736的詳情。runc是Docker、CRI-O、Containerd、Kubernetes等底層的容器運(yùn)行時(shí),此...
摘要:爆出中等嚴(yán)重性安全漏洞拒絕服務(wù)漏洞。本文將進(jìn)行漏洞解讀和情景再現(xiàn),并分享漏洞修復(fù)方案,用戶來看應(yīng)對之策了漏洞美國當(dāng)?shù)貢r(shí)間年月日,社區(qū)發(fā)布了拒絕服務(wù)的漏洞,即有寫入權(quán)限的用戶在寫入資源時(shí)會(huì)導(dǎo)致過度消耗資源,此漏洞被評(píng)級(jí)為中等嚴(yán)重性。 Kubernetes爆出中等嚴(yán)重性安全漏洞——Kubernetes API Server拒絕服務(wù)漏洞CVE-2019-1002100。 本文將進(jìn)行漏洞解讀和...
摘要:導(dǎo)讀近期靈雀云技術(shù)專家邵明岐翻譯了所著的一書的部分內(nèi)容,可以說是對科普與觀察的上佳素材。移動(dòng)應(yīng)用程序可以無縫訪問同一個(gè)數(shù)據(jù)庫,以檢索過去的結(jié)果和排行榜數(shù)據(jù)。這些是統(tǒng)計(jì)信息,例如執(zhí)行持續(xù)時(shí)間和面向客戶的指標(biāo),而不是可用磁盤空間或使用率。 導(dǎo)讀:近期靈雀云技術(shù)專家邵明岐翻譯了Mike Roberts & John Chapin所著的《What is Serverless》一書的部分內(nèi)容,可...
摘要:近期,儀表盤和外部代理接連被發(fā)現(xiàn)存在安全問題。本文將更深入解讀這兩個(gè)安全漏洞的原理會(huì)對您的部署造成的影響以及相應(yīng)的應(yīng)對之策。在中,儀表盤作為每個(gè)集群環(huán)境的一部分包含在內(nèi)但是,部署不受影響,因?yàn)槌洚?dāng)了儀表盤的身份驗(yàn)證授權(quán)和代理。 近期,Kubernetes儀表盤和外部IP代理接連被發(fā)現(xiàn)存在安全問題。針對這兩個(gè)漏洞,Kubernetes發(fā)布了相應(yīng)的補(bǔ)丁版本供會(huì)受漏洞影響的用戶解決問題。本文...
摘要:云計(jì)算發(fā)展備受矚目的五大方向云計(jì)算帶來了前所未有的工作方式,也改變了傳統(tǒng)軟件工程企業(yè)。云端安全仍不容忽視云計(jì)算自備受關(guān)注之日起其安全性就飽受詬病,這個(gè)永恒的話題,一直高燒不退。 自2006年3月亞馬遜(Amazon)推出彈性計(jì)算云服務(wù)起,云計(jì)算就引起了業(yè)內(nèi)外人士廣泛關(guān)注。在這將近八年的時(shí)間里,其作為一個(gè)新的技術(shù)趨勢已經(jīng)得到了快速的發(fā)展。2015年,互聯(lián)網(wǎng)、金融、制造、物流等行業(yè)內(nèi)企業(yè)根據(jù)自...
閱讀 1965·2021-11-22 15:29
閱讀 3262·2021-10-14 09:43
閱讀 1228·2021-10-08 10:22
閱讀 3351·2021-08-30 09:46
閱讀 1437·2019-08-30 15:55
閱讀 1931·2019-08-30 15:44
閱讀 854·2019-08-30 14:19
閱讀 1450·2019-08-30 13:13