Linux中國

6 個必知必會的關於容器的概念

因為容器給企業所帶來的巨大的價值和大量的好處,它快速的改變了 IT 格局。幾乎所有最新的業務創新,都有容器化貢獻的一部分因素,甚至是主要因素。

在現代化應用架構中,能夠快速的把變更交付到生產環境的能力,讓你比你的競爭對手更勝一籌。容器通過使用微服務架構,幫助開發團隊開發功能、更小的失敗、更快的恢復,從而加快交付速度。容器化還讓應用軟體能夠快速啟動、按需自動擴展雲資源。還有,DevOps 通過靈活性、移動性、和有效性讓產品可以儘快進入市場,從而將容器化的所能帶來的好處最大化。

在 DevOps 中,雖然速度、敏捷、靈活是容器化的主要保障,但安全則是一個重要的因素。這就導致了 DevSecOps 的出現。它從一開始,到貫穿容器化應用的整個生命周期,都始終將安全融合到應用的開發中。默認情況下,容器化大大地增強了安全性,因為它將應用和宿主機以及其他的容器化應用相互隔離開來。

什麼是容器?

容器是單體式應用程序所遺留的問題的解決方案。雖然單體式有它的優點,但是它阻礙了組織以敏捷的方式快速前進。而容器則讓你能夠將單體式分解成 微服務

本質上來說,容器只是一些輕量化組件的應用集,比如軟體依賴、庫、配置文件等等,然後運行在一個隔離的環境之中,這個隔離的環境又是運行在傳統操作系統之上的,或者為了可移植性和靈活性而運行在虛擬化環境之上。

![容器的架構](/data/attachment/album/202103/02/204801d4a4av48zdx744yb.png "Container architecture")

總而言之,容器通過利用像 cgroup、 內核命名空間SELinux 這樣的內核技術來實現隔離。容器跟宿主機共用一個內核,因此比虛擬機佔用更少的資源。

容器的優勢

這種架構所帶來的敏捷性是虛擬機所不可能做到的。此外,在計算和內存資源方面,容器支持一種更靈活的模型,而且它支持突發資源模式,因此應用程序可以在需要的時候,在限定的範圍內,使用更多的資源。用另一句話來說,容器提供的擴展性和靈活性,是你在虛擬機上運行的應用程序中所無法實現的。

容器讓在公有雲或者私有雲上部署和分享應用變得非常容易。更重要的是,它所提供的連貫性,幫助運維和開發團隊降低了在跨平台部署的過程中的複雜度。

容器還可以實現一套通用的構建組件,可以在開發的任何階段拿來複用,從而可以重建出一樣的環境供開發、測試、預備、生產使用,將「一次編寫、到處執行」的概念加以擴展。

和虛擬化相比,容器使實現靈活性、連貫性和快速部署應用的能力變得更加簡單 —— 這是 DevOps 的主要原則。

Docker 因素

Docker 已經變成了容器的代名詞。Docker 讓容器技術發生徹底變革並得以推廣普及,雖然早在 Docker 之前容器技術就已經存在。這些容器技術包括 AIX 工作負載分區、 Solaris 容器、以及 Linux 容器(LXC),後者被用來 在一台 Linux 宿主機上運行多個 Linux 環境

Kubernetes 效應

Kubernetes 如今已被廣泛認為是 編排引擎 中的領導者。在過去的幾年裡,Kubernetes 的普及 加上容器技術的應用日趨成熟,為運維、開發、以及安全團隊可以擁抱日益變革的行業,創造了一個理想的環境。

Kubernetes 為容器的管理提供了完整全面的解決方案。它可以在一個集群中運行容器,從而實現類似自動擴展雲資源這樣的功能,這些雲資源包括:自動的、分散式的事件驅動的應用需求。這就保證了「免費的」高可用性。(比如,開發和運維都不需要花太大的勁就可以實現)

此外,在 OpenShift 和 類似 Kubernetes 這樣的企業的幫助下,容器的應用變得更加的容易。

![Kubernetes 集群](/data/attachment/album/202103/02/204801c7vl1p2v757fmvil.png "Kubernetes cluster")

容器會替代虛擬機嗎?

KubeVirt 和類似的 開源 項目很大程度上表明,容器將會取代虛擬機。KubeVirt 通過將虛擬機轉化成容器,把虛擬機帶入到容器化的工作流中,因此它們就可以利用容器化應用的優勢。

現在,容器和虛擬機更多的是互補的關係,而不是相互競爭的。容器在虛擬機上面運行,因此增加可用性,特別是對於那些要求有持久性的應用。同時容器可以利用虛擬化技術的優勢,讓硬體的基礎設施(如:內存和網路)的管理更加便捷。

那麼 Windows 容器呢?

微軟和開源社區方面都對 Windows 容器的成功實現做了大量的推動。Kubernetes 操作器 Operator 加速了 Windows 容器的應用進程。還有像 OpenShift 這樣的產品現在可以啟用 Windows 工作節點 來運行 Windows 容器。

Windows 的容器化創造出巨大的誘人的可能性。特別是對於使用混合環境的企業。在 Kubernetes 集群上運行你最關鍵的應用程序,是你成功實現混合雲/多種雲環境的目標邁出的一大步。

容器的未來

容器在 IT 行業日新月異的變革中扮演著重要的角色,因為企業在向著快速、敏捷的交付軟體及解決方案的方向前進,以此來 超越競爭對手

容器會繼續存在下去。在不久的將來,其他的使用場景,比如邊緣計算中的無伺服器,將會浮現出來,並且更深地影響我們對從數字設備來回傳輸數據的速度的認知。唯一在這種變化中存活下來的方式,就是去應用它們。

via: https://opensource.com/article/20/12/containers-101

作者:Mike Calizo 選題:lujun9972 譯者:AmorSu 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國