文章出處

容器生態系統包含核心技術、平臺技術和支持技術三個方面。上一節我們討論了核心技術,今天討論另外兩個部分。

容器平臺技術

容器核心技術使得容器能夠在單個 host 上運行。而容器平臺技術能夠讓容器作為集群在分布式環境中運行。

容器平臺技術包括容器編排引擎、容器管理平臺和基于容器的 PaaS。

容器編排引擎

基于容器的應用一般會采用微服務架構。在這種架構下,應用被劃分為不同的組件,并以服務的形式運行在各自的容器中,通過 API 對外提供服務。為了保證應用的高可用,每個組件都可能會運行多個相同的容器。這些容器會組成集群,集群中的容器會根據業務需要被動態地創建、遷移和銷毀。

大家可以看到,這樣一個基于微服務架構的應用系統實際上是一個動態的可伸縮的系統。這對我們的部署環境提出了新的要求,我們需要有一種高效的方法來管理容器集群。而這,就是容器編排引擎要干的工作。

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

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

kubernetes 是 Google 領導開發的開源容器編排引擎,同時支持 Docker 和 CoreOS 容器。

mesos 是一個通用的集群資源調度平臺,mesos 與 marathon 一起提供容器編排引擎功能。

以上三者是當前主流的容器編排引擎。

容器管理平臺

容器管理平臺是架構在容器編排引擎之上的一個更為通用的平臺。通常容器管理平臺能夠支持多種編排引擎,抽象了編排引擎的底層實現細節,為用戶提供更方便的功能,比如 application catalog 和一鍵應用部署等。

Rancher 和 ContainerShip 是容器管理平臺的典型代表。

基于容器的 PaaS

基于容器的 PaaS 為微服務應用開發人員和公司提供了開發、部署和管理應用的平臺,使用戶不必關心底層基礎設施而專注于應用的開發。

Deis、Flynn 和 Dokku 都是開源容器 PaaS 的代表。

容器支持技術

下面這些技術被用于支持基于容器的基礎設施。

容器網絡

容器的出現使網絡拓撲變得更加動態和復雜。用戶需要專門的解決方案來管理容器與容器,容器與其他實體之間的連通性和隔離性。

docker network 是 Docker 原生的網絡解決方案。除此之外,我們還可以采用第三方開源解決方案,例如 flannel、weave 和 calico。不同的方案設計和實現方式不同,各有優勢和特定,我們可以根據實際需要來選型。

服務發現

動態變化是微服務應用的一大特點。當負載增加時,集群會自動創建新的容器;負載減小,多余的容器會被銷毀。容器也會根據 host 的資源使用情況在不同 host 中遷移,容器的 IP 和端口也會隨之發生變化。

在這種動態的環境下,必須要有一種機制讓 client 能夠知道如何訪問容器提供的服務。這就是服務發現技術要完成的工作。

服務發現會保存容器集群中所有微服務最新的信息,比如 IP 和端口,并對外提供 API,提供服務查詢功能。

etcd、consul 和 zookeeper 是服務發現的典型解決方案。

監控

監控對于基礎架構非常重要,而容器的動態特征對監控提出更多挑戰。

針對容器環境,已經涌現出很多監控工具和方案。

docker ps/top/stats 是 Docker 原生的命令行監控工具。除了命令行,Docker 也提供了 stats API,用戶可以通過 HTTP 請求獲取容器的狀態信息。

sysdig、cAdvisor/Heapster 和 Weave Scope 是其他開源的容器監控方案。

數據管理

容器經常會在不同的 host 之間遷移,如何保證持久化數據也能夠動態遷移,是 Flocker 這類數據管理工具提供的能力。

日志管理

日志為問題排查和事件管理提供了重要依據。

docker logs 是 Docker 原生的日志工具。而 logspout 對日志提供了路由功能,它可以收集不同容器的日志并轉發給其他工具進行后處理。

安全性

對于年輕的容器,安全性一直是業界爭論的焦點。

OpenSCAP 能夠對容器鏡像進行掃描,發現潛在的漏洞。

本教程覆蓋的知識范圍

前面我們已經鳥瞰了整個容器生態系統,對容器所涉及的技術體系有了全面的認識。那我們這本教程會討論其中的哪些內容呢?

會覆蓋容器生態系統 91.6% 的技術!具體請參考第一篇中的 “覆蓋內容”部分,這里就不再贅述了。

下一節開始實戰,運行我們的第一個容器。


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()