實時遷移以及Jelastic中微服務的高可用性的Docker多容器編配

更多騰訊海量技術文章,請關注云+社區:https://cloud.tencent.com/developer

容器震動了IT世界,由於其輕量級的虛擬化,更高的密度,彈性和快速配置,為雲PaaS和IaaS提供了全新的虛擬化解決方案。

在公共雲,私有雲或混合雲中使用容器可為用戶在負載峰值,維護時段或數據中心可用性問題期間隨時放置工作負載和更改位置提供新的自由度。容器的尺寸比虛擬機(VM)小得多,因此將它們從一個雲移動到另一個容易得多。這使得應用程序在雲設置中更具移動性,易於管理,節省了DevOps團隊的時間和精力。

在這個由三部分組成的博客系列中,我們將探討Jelastic平台中Docker模板實現的主要優點。我們將闡述Jelastic 自2011年以來如何使用容器,以及為什麼我們相信我們的解決方案提供了先進的容器編排,這可能是目前市場上最好的。

Advertisements

Jelastic Cloud中的容器系統與微服務體系結構模式并行不悖。每一個龐大的,複雜的,為企業準備就緒的應用程序代表一個可以被分別調整,配置和監視的服務。如果在項目中需要進行任何更改,則可以輕鬆地在特定服務中進行更改,而無需重新構建和重新部署整個應用程序(由於它是單一龐大的應用程序中的要求)。有了這樣的結構,應用程序甚至可以由不同的團隊來管理,每個團隊只負責某個特定的部分。

Docker是微服務的最新技術之一,一種用於打包應用程序並將其部署在容器中的技術。微服務和Docker成為完美搭配的事實激發了我們使用Jelastic實現Docker模板支持。

基本上,Docker解決了應用程序的組裝,交付和可移植性問題,而Jelastic則為託管應用程序提供編排和管理。為了滿足企業生產應用的需求,Jelastic在高度安全和穩定的Virtuozzo容器之上提供了Docker模板支持。

Advertisements

Parallels Virtuozzo Containers是一款為大型同類伺服器環境和數據中心設計的操作系統級虛擬化產品。Parallels Virtuozzo Containers起初在Parallels的前母公司SWsoft下發布。Linux版本於2001年發布,而Windows版本於2005年發布。

目前Docker默認使用LXC和libcontainer來創建Docker容器。這些容器基於名稱空間和cgroups工作。容器將相同的內核隔離機制用於Jelastic。這就是為什麼我們可以確保Docker標準所需的所有進程都是通過Docker實現提供的適當「本地」方式進行覆蓋。

通過使用Jelastic實現Docker,用戶現在可以在使用公共Docker Hub Registry或基於Quay Enterprise Registry 的私有註冊表安裝任何堆棧,應用程序或系統時擁有更多的靈活性和選項。當一個新的Docker被請求安裝時,它被放置到一個特殊的共享緩存存儲(為了使其更容易和快速地進行進一步的安裝),之後,已經作為獨立和隔離的Virtuozzo容器分佈在硬體節點中。因此,每個Docker都在安全容器虛擬化中進行配置,可以使用完全SSH根訪問或通過Jelastic控制面板輕鬆進行管理。

另外,Jelastic技術在密度,管理工具,恢復等方面提供了改進和額外的功能。下面介紹Jelastic Cloud託管的Docker化應用程序的一些優點。

在我們的博客系列的第一部分,我們提供了在Jelastic中使用Docker獲得的兩個重要優勢的詳細信息:高可用性和實時遷移。

高可用性

Jelastic在兩個層面上為微服務提供高可用性:

  • 應用拓撲

  • 容器虛擬化

應用程序內的負載平衡通過跨多個組件分配工作負載來確保高可用性。使用具有負載平衡的多個組件,而不是單個組件,可以通過冗餘來提高可靠性。Jelastic使用兩種類型的負載均衡:TCP和HTTP。

另外,Jelastic提供了在Web伺服器實例之間使用多播會話複製的能力。當會話複製在集群環境中啟用,整個會話數據被複制在副本實例。會話複製提供高可靠性,可伸縮性和完美的故障轉移功能。

Jelastic Cloud可讓您輕鬆設置兩種不同類型的資料庫複製(主從式和主控式主機),以解決許多性能不同的問題,支持資料庫備份,減輕系統故障等等。

另外,集成的軟體定義存儲專門為集群中的容器虛擬化的高可用性而設計。具有內置複製和災難恢復功能的分散式存儲可確保在硬體節點故障的情況下實現快速自動恢復。換句話說,如果任何硬體節點失敗,所有的容器將在其他現有的硬體節點上自動恢復。

實時遷移和離線遷移

這是企業級雲平台非常重要的關鍵功能之一。雲服務提供商可以輕鬆地將Docker化應用程序的容器從一台物理伺服器遷移到另一台物理伺服器,而無需停機,這是保持整體性能和質量的關鍵要求。這提高了硬體維護期間的運營效率,提供了更好的負載平衡和數據中心利用率,並允許將客戶轉移到功能更強大的節點,而不會中斷服務。

Jelastic獨特的自動垂直縮放使用實時遷移來確保應用程序可以在伺服器內進行擴展,而無需停機。隨著應用程序在伺服器中的擴展,其他應用程序可以自動遷移到另一台伺服器以騰出空間。實時遷移允許Jelastic為應用程序提供所有必需的資源,而無需重新啟動容器並導致應用程序停機。

另外,在硬體的維護或其他計劃停機期間,實時遷移功能可以將容器從一個硬體節點自動撤出到另一個硬體節點。這使Jelastic平台成為託管有狀態應用程序的正確選擇。在實時遷移過程中,應用程序可以不停機工作,並獲得所需的資源。

此外,遷移容器的能力為開發運維團隊提供了更多不同的,在許多情況下,更有效的Docker化應用程序生命周期流。在原始版本中要經歷交付生命周期的所有步驟,所有管道交付階段都應連接到Hub註冊中心。每一次你應該重新創建容器,有時甚至是整個多容器環境。換句話說,您在遷移過程中每次重新打包和重建容器Dev => Test,Test => Stage,Stage => Prod。在Jelastic中,通過容器的實時或離線遷移,您可以輕鬆地將應用程序從一個生命周期階段遷移到另一個生命周期階段,無需重新構建容器並重新部署應用程序,而且無需在初始化之後將每個階段連接到Hub Registry Docker配置。

這些應用程序生命周期工作流程需要更深入的分析和澄清,我們將為與本話題相關的不同問題編寫單獨的博客文章。

高可用性和實時遷移只是在Jelastic平台上使用Docker化應用程序時獲得的前兩個好處。在我們的下一個出版物中,您將了解到更多關於隔離和安全性,Docker容器在物理伺服器之間的智能分發,伺服器資源的高密度和最大化利用以及您在系統中獲得的休眠和重複數據刪除技術。

你已經嘗試過Jelastic之上的Docker嗎?請在下面的評論中提供您的反饋。

翻譯人:alicture,該成員來自雲+社區翻譯社

原文鏈接:https://dzone.com/articles/docker-multi-containers

原文作者:Tetiana Fydorenchyk

Advertisements

你可能會喜歡