容器生態系統

2022-09-11 07:42:09 字數 2146 閱讀 5543

容器生態系統包括:容器核心技術、容器平台技術、容器支援技術

1、容器核心技術:指的是能夠讓container在host上執行起來的技術,這些技術包括:容器規範、容器runtime、容器管理工具、registry、容器os。

(1)容器規範:為了保證容器生態的健康發展,保證不同容器間能夠相容,幾大公司共同成立了oci(open container initiative),定製了runtime spec和    image format spec 兩個規範,這樣就保證了容器的可移植性和互操作性。

(2)容器runtime:提供容器真正執行的地方。可以模擬j**a,j**a是容器,那麼jvm就是runtime。lxc,runc,rkt是目前主流的三種容器runtime。這裡強調runc,因為runc是docker自己開發的runtime,也是現在docker的預設runtime。

(3)容器管理工具:容器管理工具對內與runtime互動,對外為使用者提供介面,例如cli。runc的管理工具是docker engine。docker engine包含後台和cli兩個部分。我們通常提到的docker就是指docker engine。

docker image 是docker的模板,runtime依據docker image建立容器。

dockerfile是包含若干命令的文字檔案,類似指令碼,可以將建立容器的命令寫在dockerfile中

(5)registry:由image構成的倉庫,用來統一存放image。通常情況下,企業會用docker registry來構建私有的registry。docker hub是docker為使用者提供的公共庫,裡面有很多現成的image。

(6)容器os:容器os是專門執行容器的作業系統,與常規的os相比,容器os體積更小,啟動更快。

2、容器平台技術:容器核心技術使得容器在單個host上能夠執行,而容器平台技術則能夠讓容器作為集群,在分布式環境中執行。容器平台技術包括:容器編排引擎、容器管理平台、基於容器的paas。

(1)容器編排引擎:基於容器的應用一般會採用微服務架構。在微服務架構下,應用被劃分為不同的元件,並以服務的形式執行在各自的容器中,通過api對外提供服務。為了保證應用的高可用,每個元件都可能執行多個相同的容器,這些容器會想成集群,集群中的容器會根據業務需求被動態的建立,遷移和銷毀。

所謂的容器編排,通常包括容器管理、排程、集群定義和服務發現等。通過容器編排引擎,容器被有機地組合成微服務應用,實現業務需求。

docker swarm 是docker開發的容器編排引擎。

3:、容器支援技術:容器網路、服務發現、監控、資料管理、日誌管理、安全性。

(1)容器網路:docker network、flannel、we**e、calico。以上是4種常見的容器解決方案。這些解決方案用來管理容器與容器、容器與其他實體之間的連通性和隔離性。docker network是docker原生的網路解決方案。

(2)服務發現: 動態變化是微服務應用的一大特點,當負載增加時,集群會自動建立新的容器;負載減小時,多餘的容器會被銷毀,這就有必要實現一種機制,讓client能夠知道如何訪問容器提供的服務。服務發現會保護容器集群中所有微服務最新的資訊,比如埠和ip,並對外提供api,提供服務查詢功能。常用的服務發現解決方案有eureka,consul,zookeeper。

(3)監控:docker ps/top/stats 是docker原生的命令列監控工具,除此之外,docker 也提供了stats api ,使用者可以通過http請求獲取容器的狀態資訊

(4)資料管理:flocker。容器經常會在不同的host之間遷移,flocker能夠保證持久化資料也能夠動態遷移。

(5)日誌管理:docker logs是docker原生的日誌工具,而logspout對日誌提供了路由功能,它可以收集不同容器的日誌,並**給其他工具進行再次處理。

(6)安全性:openscap能夠對容器映象進行掃瞄,發現潛在的漏洞。

Hadoop生態系統

摘要 介紹hadoop生態系統,從hadoop生態系統有什麼成員,成員能做什麼和hadoop生態系統能夠提供大資料問題解決方案兩方面來認識。hadoop生態圖,通俗地說,就是hadoop核心模組和衍生的子專案。一幅hadoop生態圖,讓我想到了兩個問題。問題一 hadoop生態系統包括哪些成員?每個...

Docker生態系統

docker是以docker容器為資源分割和排程的基本單位,封裝軟體的執行時環境.用於快速構建,發布,執行分布式應用的平台。docker的執行時容器的本質是程序.在linux中,通過namespace進行資源隔離,cgroups進行資源限制,使docker容器看上去像是乙個執行在宿主機中的虛擬機器....

SOA生態系統

richard veryard在他的最近的一篇日誌裡提到 soa世界終於開始跟上一點生態系統的思想了.以生物性的方式來建立業務和軟體服務。根據richard的說法,這一方式與解決方案驅動的soa方式截然不同。在這種情況下,不是基於特定的解決方案來定義服務,而是基於它們所屬於的生態系統 可與 自頂向下...