什麼是容器?
容器是軟體套件,內含在任何環境中執行的所有必要元素。容器可將作業系統虛擬化,並在私人資料中心、公用雲端或開發人員的個人筆記型電腦等任何環境中執行。無論是使用 Gmail、YouTube 還是搜尋功能,Google 中的所有項目都在容器中執行。容器化可讓我們的開發團隊快速移動、有效部署軟體,並以前所未有的規模操作。我們對如何在實際工作環境中執行容器化工作負載有深入的瞭解,我們也一直與社群分享這類知識:早期是將 cgroups 帶入 Linux kernel,後來則是將 Google 內部工具中的設計應用在 Kubernetes 專案中,並開放原始碼。
容器的定義
容器是應用程式程式碼的輕量級套件,其中包括依附元件,例如程式設計語言執行階段的特定版本,以及執行軟體服務所需的程式庫。
容器讓您可以在作業系統層級輕鬆共用 CPU、記憶體、儲存空間和網路資源,並提供邏輯封裝機制,能夠將應用程式從實際執行所在環境抽取出來。
容器的好處有哪些?
責任分離
容器化提供了明確的責任分離,讓開發人員專注於應用程式邏輯與依附元件,而 IT 營運團隊可將注意力集中到部署與管理上,而不用擔心諸如特定軟體版本與應用程式特定設定之類的應用程式細節。
工作負載可攜性
容器幾乎能在任意位置執行,大大降低了在下列環境開發與部署的難度:Linux/Windows/Mac 作業系統、虛擬機器或實體伺服器、開發人員的機器或資料中心內部部署,當然還有公用雲端。
應用程式隔離
容器可在作業系統層級虛擬化 CPU、記憶體、儲存空間與網路資源,為開發人員提供 OS 的檢視畫面,而且在邏輯上與其他應用程式完全隔離。
容器與 VM
您可能已經對 VM 有所瞭解,例如 Linux 或 Windows 等訪客作業系統是在主機作業系統之上執行,且可使用基礎硬體。容器常被拿來與虛擬機器 (VM) 比較:容器和虛擬機器一樣,可以讓您將應用程式、程式庫和其他依附元件封裝在一起,提供隔離的環境執行軟體服務。不過如下所示,相似性僅止於此,因為容器為開發人員與 IT 營運團隊提供更為輕量的工作單位,因而帶來了更多的好處。
- 容器遠比 VM 輕量
- 容器在作業系統層級進行虛擬化,而 VM 在硬體層級進行虛擬化
- 容器共用 OS 核心,並使用一部分 VM 也需要的記憶體
容器的用途有哪些?
靈活開發
容器可讓開發人員更快完成工作,不用擔心依附元件和環境。
高效率作業
容器不僅輕量,還允許僅使用所需的運算資源,讓您更有效率地執行應用程式。
可在任何地方執行
容器幾乎可以在任何地方執行,每當您想要執行軟體時,就可以使用容器。
相關產品和服務
憑藉開發 Kubernetes 的相同專業知識,Google Kubernetes Engine (GKE) 是第一個能直接投入實作環境執行容器化應用程式的代管服務,可協助您對雲端工作負載實施成功的 Kubernetes 策略。
Google 透過 Anthos 讓您無論是將 Kubernetes 用於內部部署或多雲端應用程式,都能享有一致的體驗。有了 Anthos,您就能在任何位置以穩定、安全且有效率的方式執行 Kubernetes 叢集。