您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“Docker與OpenStack有什么聯(lián)系”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
基于需求刺激,容器技術(shù)應(yīng)運而生。容器的發(fā)展從 Chroot,F(xiàn)reeBSD jails,OpenVZ,LXC,到如今的 Docker、Rocket 真正走向了大規(guī)模應(yīng)用。
相比普通服務(wù)器,容器是一種更輕量級,更靈活的虛擬化處理方式,它將一個應(yīng)用程序所需的一切打包在一起。一般情況下開發(fā)人員在編寫代碼時,他們是在自己本地的開發(fā)環(huán)境中工作;當(dāng)他們準(zhǔn)備將代碼移至生產(chǎn)環(huán)境時,總會發(fā)生一些意想不到的事情。原因多種多樣:不同的操作系統(tǒng),不同的依賴項,不同的庫。
而容器解決了可移植性這一關(guān)鍵問題,它可以將代碼與運行它的環(huán)境分開。開發(fā)人員可以將應(yīng)用程序(包括正確運行所需的所有庫)打包到一個小的容器鏡像中。該鏡像可以在其他任何計算機(jī)上運行。
雖然 Docker 經(jīng)常會和“容器(Container)”一詞相提并論,但是 Docker 本身并不是容器。從字面意思可以解讀,“Container”原譯為“集裝箱”,而“Docker”被譯為“碼頭工人”。
Docker 是一個開源的應(yīng)用容器引擎,是創(chuàng)建容器的工具。讓開發(fā)者可以打包他們的應(yīng)用和依賴包到一個可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器或 Windows 機(jī)器上。
2013 年 PyCon 大會之后,Docker 迅速成為社區(qū)、客戶和更廣泛行業(yè)的實際標(biāo)準(zhǔn)與基石。Docker 的強(qiáng)大之處在于它通過可移植的形式和易于使用的工具,在應(yīng)用程序和基礎(chǔ)設(shè)施之間創(chuàng)造了獨立性,使得容器技術(shù)大眾化,并使容器技術(shù)成為主流。
Docker 如此大火,但是我們需要知道,Docker 并不是唯一的,也不是第一個出現(xiàn)的容器平臺。其他的框架,例如 OpenVZ 和 LXC(Linux Container),于 2000 年中期就已經(jīng)開始使用。而 FreeBSD jails,則可以追溯到更遠(yuǎn)的年代。Docker 是在 2013 年發(fā)布的,與當(dāng)今大多數(shù)主流的容器技術(shù)相比,它是非常年輕的。
雖然 Docker 不是最成熟的,卻引起了極大的關(guān)注。這是因為 Docker 是一個擴(kuò)展的 Linux 容器(LXC),是一種獨特輕巧、以應(yīng)用為中心的虛擬化工具。它大大降低了企業(yè)開銷,也更容易讓企業(yè)在服務(wù)器上部署軟件。且 Docker 允許系統(tǒng)管理員和開發(fā)人員在容器中構(gòu)建任何應(yīng)用程序,節(jié)省資源。
除此之外,Docker 發(fā)展迅猛的原因還有:
Docker 從一開始就是開源的,這使得 Docker 在行業(yè)內(nèi)有了強(qiáng)大的吸引力。直到 2013 年,行業(yè)才開始將“開源”視為軟件生產(chǎn)的默認(rèn)模式。
Docker 出現(xiàn)在了正確的時間。到 2013 年,虛擬機(jī)似乎已經(jīng)成為了過時的技術(shù)。大家一直在尋找一種更精簡,更方便的方式來部署應(yīng)用程序,而這時 Docker 出現(xiàn)了,它恰好符合要求。
Docker 使用的另一個主要重點是 DevOps。DevOps 在 2010 年初開始流行,它強(qiáng)調(diào)了軟件交付的敏捷性、靈活性和可擴(kuò)展性。Docker 恰好為根據(jù) DevOps 部署應(yīng)用程序提供了合適的環(huán)境。
容器和虛擬機(jī)這兩種技術(shù)經(jīng)常被互相比較。所謂虛擬機(jī)(Virtual Machine)是指通過軟件模擬的具有完整硬件系統(tǒng)功能的、運行在一個完全隔離環(huán)境中的完整計算機(jī)系統(tǒng)。
Docker 可能被認(rèn)為是當(dāng)前容器技術(shù)的代表,而作為虛擬機(jī)技術(shù)的代表,OpenStack 也被大眾所周知。
OpenStack 是一個開源的云計算管理平臺項目,是一系列軟件開源項目的組合。它不是一個軟件,而是一個云平臺管理的項目。這個項目由幾個主要的組件組合起來完成一些具體的工作。其中主要包括:
Nova(Compute):在 OpenStack 環(huán)境中計算實例(即創(chuàng)建的云主機(jī))的生命周期管理。按需響應(yīng)包括生成、調(diào)度、回收虛擬機(jī)等操作。
Neutron(Networking):確保為其它 OpenStack 服務(wù)提供網(wǎng)絡(luò)連接即服務(wù)。
Swift(Object Storage):通過基于 HTTP 的應(yīng)用程序接口存儲和任意檢索的非結(jié)構(gòu)化數(shù)據(jù)對象。
Glance(Image service):存儲和檢索虛擬機(jī)磁盤鏡像,OpenStack Compute 會在實例部署時使用此服務(wù)。
許多人都會常用 Docker 和傳統(tǒng)虛擬機(jī)來做比較,并且經(jīng)常凸顯出 Docker 的優(yōu)勢。其實這和 OpenStack 沒有直接關(guān)系。曾經(jīng)許多的性能測試都會將 Docker 與 KVM 進(jìn)行對比,但是后來發(fā)現(xiàn)這些測試是通過 OpenStack 運行的,這表明兩種技術(shù)其實可以很好地協(xié)同工作。
那么如果使用了 Docker,還能使用 OpenStack 嗎?
答案是可以的,Docker 以最簡單的形式提供了一個容器,用于管理共享基礎(chǔ)架構(gòu)上的應(yīng)用程序,同時又使它們彼此隔離。而虛擬機(jī)則通過創(chuàng)建一個完整的操作系統(tǒng)來完成類似的工作。OpenStack 的官方文檔(https://wiki.openstack.org/wiki/Docker)特別提供了部署 Docker 的解決方案,并且單獨指出:“容器并非旨在替代虛擬機(jī),它們是互補(bǔ)的,因為它們更適合特定的用例?!?/p>
如果第一次看到 Kubernetes 這個詞,可能會比較好奇它為何簡寫為 K8S。其實是 k 與 s 中間正好隔了 8 個字母,K8S 為一種偷懶地寫法。Kubernetes 是 Google 開源的一個容器編排引擎,它支持自動化部署、大規(guī)模可伸縮、應(yīng)用容器化管理。
作為容器編排的解決方案,隨著 Kubernetes 越來越流行,“Kubernetes” 與 “Docker” 這兩個詞也經(jīng)常會相提并論。
目前,Kubernetes 可以說是市場領(lǐng)導(dǎo)者,及編排容器和部署分布式應(yīng)用程序的標(biāo)準(zhǔn)化方法。Kubernetes 可以在公共云服務(wù)或本地運行,具有高度模塊化,開放源代碼,并且擁有一個活躍的社區(qū)。許多云廠商也都已經(jīng)提供了 Kubernetes 作為服務(wù)。
當(dāng)然了,Docker 和 Kubernetes 并不是競爭對手。Docker 是一個容器化平臺,而 Kubernetes 是 Docker 等容器平臺的協(xié)調(diào)器。它旨在為容器提供高效地管理,監(jiān)視應(yīng)用程序的運行狀況,使應(yīng)用程序提供不間斷地服務(wù),而不需要運維人員去進(jìn)行復(fù)雜的手工配置和處理。
云計算技術(shù)發(fā)展至今,從最開始的硬件虛擬化、IaaS、OpenStack、PaaS、容器到如今的 Serverless,云計算已經(jīng)越來越接近應(yīng)用邏輯。容器實現(xiàn)了應(yīng)用的分裝,方便了應(yīng)用在不同環(huán)境間的遷移,輕量級的特性又使它能夠消耗更少的資源而帶來更大的便利。
“Docker與OpenStack有什么聯(lián)系”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。