關于容器、微服務、docker的十大問題

容器的運行無法簡單參考虛擬機的實踐經驗。例如,幾乎任何工作負載都可以立即虛擬化,但是有些工作負載適合容器化部署,有的則不適合。

本文回答企業在使用容器時最常見的10個問題,幫助大家更好地理解容器部署、工作負載容器化等問題。

1.最適合容器的使用場景是什么?

在生產環境中,最適合容器化部署的理想應用類型應該是微服務。微服務是一個聚焦的任務,它只代表整個應用程序中很小部分。因為微服務專注于單個任務,所以它可以獨立于應用程序的其它部分進行伸縮擴展。此外,由于微服務是高內聚和松散耦合的,因此可以彼此獨立部署和發布。

此外,使用容器基礎設施構建微服務可以更快、更好地實現其優勢。只要面向外部的API不破壞應用兼容性,軟件開發人員就可以快速迭代并改進整個微服務,且不會影響其它開發人員的微服務。但是,大多數傳統的企業應用程序并不符合微服務體系結構,所以也不是所有企業都適合使用微服務。

2.容器部署時需要考慮的關鍵因素都有哪些?

(1)UI界面管理和API

管理用戶界面UI,包括那些基于API的圖形化UI(即外部系統直接使用API訪問系統)。

(2)鏡像倉庫

公共鏡像倉庫,例如Docker Hub提供公共管理的容器鏡像倉庫。許多容器管理系統都提供私有鏡像倉庫,企業組織可以在其中管理自己的鏡像。

(3)編排和調度

編排層能夠使容器以所需的狀態運行,并提供滾動更新和回滾的功能。當然,Kubernetes已經成為容器編排的實際標準。

(4)容器運行時

容器運行時,可以讓集群節點在鏡像倉庫中獲取容器鏡像,還可生成正確的文件結構在主機上運行容器,也可與網絡和存儲插件交互,也能創建、啟停容器。

(5)安全管控

通過安全組件執行安全策略,包括秘鑰管理、安全掃描、圖像簽名、網絡隔離和加密、以及基于角色的訪問控制(RBAC)等。

(6)持續監控

監控程序能夠提供集群節點、容器和微服務級別的可視化能力。

(7)DevOps工作流

DevOps對于容器部署并不重要,但是它們通常一起使用,例如,DevOps工具、CI/CD管道工具和容器鏡像生成器等工具需要協同工作。

3.是否可以在Windows、VMware環境運行容器?

Windows容器生態系統還不夠成熟,無法廣泛應用于生產環境中。Windows容器缺乏容器編排工具的支持。例如,最新的Kubernetes軟件版本只提供了對Windows容器的beta支持。此外,容器支持的Windows應用程序非常少。Windows服務器對身份驗證、安全和網絡的支持也非常有限的。現有的幾個組件要么處于“beta”版本,要么處于“預覽”版本。當然,盡管有這些限制,針對特定場景也是可以使用Windows容器,例如內部開發等場景,通過容器可以獲得敏捷性、可移植性和成本優勢。

VMware的vSphere可將Docker引擎與vSphere集成,為容器在輕量級VM中運行提供了途徑。此外VMware還提供了用于安全存儲鏡像的容器管理門戶和私有倉庫。

4.應該選擇CaaS、Kubernetes還是BYO容器管理解決方案

市場上有多種產品允許企業大規模部署容器。這些產品為應用程序開發人員提供的抽象程度不同。最抽象的產品是容器即服務產品(CaaS),這類產品以前大多是PaaS產品,比如Cloud Foundry和OpenShift。這些CaaS產品從開發人員那里抽象出基礎設施的細節,并以結構化方式提供應用程序工具。而BYO容器管理方案,則提供了最少的抽象和最大的靈活性,但是增加了復雜性。

BYO:盡量避免使用BYO,除非在極少數情況下。因為很少有組織有能力實現它。對于想要BYO的組織,可以選擇集成一些快速移動的開源產品。

Kubernetes:至少在概念上了解基礎設施并且能夠動手實踐,那么選擇一個相對靈活K8S發行版是一個可行方案。有些CaaS產品提供了一些開發人員工具的選項,同時也為開發人員提供了更直接地使用容器編排、調度組件的選項。

PaaS:如果剛剛進入微服務開發,那么就使用PaaS提供的服務。

5.容器技術會比虛擬機技術(VM)更不安全嗎?

容器技術本身并非不安全。事實上,以防止由于其它容器的破壞而遭受攻擊, 容器中每個應用程序和用戶是相互隔離的。所以確保共享主機OS內核的完整性是至關重要的,并確保在主機上容器的相互隔離。此外,需要監控和保護容器間通信,而傳統的安全工具在這方面大多是無效的。

采用容器技術時候,建議考慮以下3點:

(1)使用一個經過加固的操作系統,通常是一個“瘦客戶機操作系統”,它可以限制攻擊面,并通過一個嚴格的和自動化的補丁管理系統對其進行補充。

(2)在容器的構建和運行階段采取控制手段,例如在軟件開發生命周期過程中對軟件進行掃描,及早發現漏洞。

(3)通過使用細粒度容器安全工具主動檢測和監控異常行為,例如青藤蜂巢等容器安全產品可以提供容器和服務器級別的安全可視化圖,并有助于防止惡意應用程序流量。

6.容器是否可以處理敏感數據和應用程序?

通過聚焦于容器安全的方法進行容器部署,同時結合現有加密等安全工具,那么容器就可用于處理敏感數據和應用程序。此外,還可以使用一些容器安全廠商的方案確保容器的安全,例如青藤云安全的容器解決方案等。當然,要使此方法成功,安全團隊必須盡早參與為敏感數據部署容器的過程。

7.容器是否適合COTS應用?

現在越來越多的軟件供應商將容器化部署作為產品一個選項。有的供應商采用敏捷開發模式滿足容器化部署方式,將其納入他們編寫、測試和交付軟件的一部分。這些應用都被重構為天然適配容器的微服務。但也有供應商,是因為害怕不提供容器化部署功能將失去市場,故而勉強提供容器部署,這種情況下COTS多數不適合容器,因為這些應用程序本質上可能仍然是整體的,或者應用程序沒有獨立可擴展屬性。此外,如果企業本身沒有現有的容器基礎設施來管理,那么COTS應用程序的容器部署可能不適合企業。

在絕大多數情況下,應該避免在沒有供應商明確支持的情況下封裝COTS應用程序,避免出差錯。

8.Foundry、OpenShift等產品和容器之間有什么關系

Cloud Foundry是一個應用程序PaaS平臺,它支持多種框架、語言、運行時環境、云平臺及應用服務,使開發人員能夠在幾秒鐘內進行應用程序的部署和擴展,無需擔心任何基礎架構的問題。因此,也是一個相對固定的容器框架。之所以這樣描述,是因為它是預先配置的,以便于安裝和維護。

OpenShift是紅帽的云開發平臺即服務(PaaS),能使開發人員創建、測試和運行他們的應用程序,并且可以把它們部署到云中。OpenShift廣泛支持多種編程語言和框架,如Java、Ruby和PHP等。另外它還提供了多種集成開發工具如Eclipse integration,JBoss Developer Studio和 Jenkins等。

企業在評估面向容器場景的PaaS產品時,重需要重點注意其提供服務范圍,區分它們自身是否支持容器場景,還是需要自定義配置或者需要通過第三方組件服務才能支持容器場景。

9.是否應該重構應用程序,以更好地支持容器?

在生產中,如果通過部署容器來支持微服務的彈性工作負載時,容器將會帶來最大的幫助。因此是否要重構應用程序以支持容器化部署,這取決于企業組織是否計劃在開發測試、生產等階段中使用容器。

另外,企業在決定重構應用程序以更好支持容器,應該首先重構無狀態部分應用程序,例如web應用程序前端部分,將其重構為微服務,以便能夠支持使用容器。此外,企業可以通過微服務體系結構來構建新的應用程序,避免以后重構。

10.在公有云中部署容器服務效果如何?

云IaaS服務提供商提供完全托管服務,而不需要處理虛擬機或底層基礎設施,這種趨勢現在也被應用到容器中,例如,AWS Fargate提供了抽象底層基礎設施的托管容器服務,以便開發人員關注需要執行的任務,而不是Kubernetes集群中的實例數量。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,527評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,687評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,640評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,957評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,682評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,011評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,009評論 3 449
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,183評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,714評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,435評論 3 359
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,665評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,148評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,838評論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,251評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,588評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,379評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,627評論 2 380

推薦閱讀更多精彩內容

  • 微服務實施需要明確每一步怎么做,可能存在的問題和解決思路、方法。如果能有相應的經驗和理論指導,將會大大有助于我們設...
    java菜閱讀 2,345評論 0 3
  • 微服務最近非常流行,各大互聯網公司紛紛采用微服務架構體系,微服務架構模式正在為敏捷部署以及復雜企業應用實施提供巨大...
    Sting閱讀 9,106評論 0 57
  • 謙虛一點沒什么壞處,遇到什么事情可以低調一些。 先退讓一步,不需要總是在別人面前自夸,生怕別人不知道自己有多么牛。...
    萬書合一閱讀 285評論 4 7
  • 莫名其妙的再次打開了這個軟件,想留下點什么,常常在夢里還會再相見,但是現在年紀大了,窮的睡不著,哈哈,越活越回去了...
    Sbman閱讀 19評論 0 0
  • 我是一名農村中學的女教師。學校離家30公里左右,一周將近二十節課,班主任,寄宿制學校,工作第九年,工資2449.8...
    木偶清木閱讀 1,240評論 11 19