容器生態圈專案一覽:引擎、編排、OS、Registry、監控
Docker 是近一兩年來發展最快的技術。很多公司都在使用 Docker(或容器)技術。有的只是用 Docker 來構建本地開發環境,但越來越多的公司是在利用容器技術徹底改造已有的架構和部署流程。本文對當今的容器生態環境做一個簡單介紹。
引擎 / 執行環境
容器引擎是容器技術的核心。引擎通常以一些說明性的描述,比如Dockerfile,來建立和執行容器。談論 Docker 時,一般指的就是 Docker 引擎。
- Docker Engine 是當前最流行的引擎,也是事實的工業標準。
- rkt 是CoreOS 團隊主導的開源引擎,用於替代 Docker 引擎。
支援 Docker 的雲服務商
雲服務商已經在他們的平臺上提供執行容器的解決方案。一些是內部的解決方案,其它的則是基於開源軟體。當然在雲主機上安裝 Docker來執行容器是沒有任何問題的。不過,大多數雲服務商的容器服務更進一步地提供了更為簡潔友好的使用者管理介面。
- Amazon EC2 Container Service 在 EC2 例項上執行容器服務。容器服務免費,只需要支付 EC2 費用。
- Google Container Engine 構建於 Kubernetes(由Google發起的開源容器編排專案) 之上。
- Azure (Microsoft 提供)提供基於Mesos的Docker容器支援。
- Stackdock 提供 Docker 容器託管。
- Tutum 提供 Docker 容器託管。
- GiantSwarm 是一家提供執行於容器內微服務架構的定製與託管的雲平臺。
- Joyent Triton 提供 Docker 容器監控和託管。
- Jelastic Docker 為容器部署提供雲託管編排工具。
容器編排工具
容器編排工具現在是最具競爭的領域之一。管理少數幾個容器很簡單,但是排程、管理以及監控大規模容器很具有挑戰性。容器編排工具處理多種多樣任務,比如查詢最優的位置或者伺服器來執行容器,處理失敗的任務,分享儲存卷或者建立負載均衡與容器間通訊的覆蓋網路。
常見的編排專案有:
- Kubernetes Google 開源的工具,它是基於Google的內部容器設施,並且在功能特性方面是當前最先進的工具。
- Docker Swarm 允許在Docker叢集中排程容器,與 Docker 環境緊密整合。
- Rancher 在機器叢集上以
stack
(linked容器)為單位管理容器。它有直觀的介面和良好的文件以及本身執行在容器內部。 - Mesosphere 通用的資料中心管理系統。不是專為 Docker 開發,但是能輕鬆管理容器,也可以與其它編排系統如 Kubernetes 整合,或者與像Hadoop的傳統服務整合。
- CoreOS fleet CoreOS作業系統的一部分,管理在 CoreOS 叢集中任何排程命令(比如執行Docker或者rkt容器)。
- Nomad 通用的應用排程工具,內建支援 Docker。
- Centurion Newrelic 的內部部署工具。
- Flocker 執行在不同主機的容器間資料/Volume遷移工具。
- Weave Run 提供微服務架構的服務發現、路由、負載均衡和地址管理。
作業系統
你可以在任何作業系統來執行容器,但是企業正越來越多的容器化他們整個基礎設施。因此,為Docker或者相關服務執行一個最小化作業系統是非常有意義的。
- CoreOS 為自動更新設計以及著重在機器叢集之間的執行容器。不僅與systemd的fleet排程器交付,而且支援其它編排系統。
- Project Atomic 執行Docker、Kubernetes、rpm、systemd的輕量級作業系統。
- Rancher OS 只有 20MB 大小用容器執行整個作業系統。 它區分
系統容器
和使用者容器
,他們執行在分離的Docker守護程式中。 - Project Photon VMWare 開源的工具。
容器映象倉庫 Registry
映象Registry是“容器映象的GitHub”,你可以與你的團隊或者其他人分享容器映象。
- Docker Registry 最流行的開源registry。你可以在自己的設施上執行或者使用Docker Hub。
- Docker Hub 提供了直觀的介面、自動化構建、私有倉庫以及眾多官方映象。
- Quay.io CoreOS 開發的容器倉庫。
- CoreOS Enterprise Registry 著重提供細化許可權和審計跟蹤。
監控
容器輸出的日誌可以很方便與已有日誌收集工具整合。容器監控軟體通常關注容器的資源使用情況(CPU、記憶體)。
- cAdvisor Google 開源專案。分析容器的資源使用和效能特性,可以用 InfluxDB 作為資料儲存,以便後續分析。
- Datadog Docker 收集容器的執行資訊,傳送到 Datadog 分析。
- NewRelic Docker 傳送容器統計資訊到 NewRelic 的雲服務。
- Sysdig 監控容器資源使用情況。
- Weave Scope 自動生成容器關係圖,有助於理解、監控和控制應用服務。
- AppFormix 實時基礎設施監控,支援 Docker 容器。
相關文章
- Hadoop生態圈一覽Hadoop
- 容器編排系統K8s之Prometheus監控系統+Grafana部署K8SPrometheusGrafana
- 容器引擎Docker和容器編排kubernetes如何優雅的收集容器日誌Docker
- linux os 監控Linux
- 容器監控—阿里雲&容器內部服務監控阿里
- Docker批量容器編排Docker
- 阿里雲容器Kubernetes監控(一)-資源監控阿里
- 專案實戰:zabbix監控MySQL狀態、服務資訊MySql
- 42_Docker容器編排Docker
- 報名開啟|QKE 容器引擎託管版暨容器生態釋出會!
- Docker 多容器編排Swarm(六)DockerSwarm
- 1.07 容器編排docker SwarmDockerSwarm
- 一、hadoop生態圈搭建(資源)Hadoop
- SpringBoot 監控、專案部署Spring Boot
- 如何監控工程專案進度?
- 五、自定義Zabbix監控專案
- 編排的藝術|K8S中的容器編排和應用編排K8S
- Docker 容器監控系統初探Docker
- 騰訊雲聯合多家生態夥伴,重磅開源 SuperEdge 邊緣容器專案
- 從專案的 GitHub 星星數看2018年 JavaScript 生態圈GithubJavaScript
- 使用Python寫一個小小的專案監控Python
- Docker 容器編排利器 Docker ComposeDocker
- Kubernetes – 容器編排簡介
- 動態監控程式
- 風控規則引擎(一):Java 動態指令碼Java指令碼
- [譯] Security Token 生態 — 專案指南
- docker08容器監控工具-WeaveScopeDocker
- 360容器平臺監控實踐
- 專案風險緩解、監控和管理(轉)
- 建議TopThink開一個專案開發交易欄目,有助於活躍TP和OT生態圈
- 使用Nagios打造專業的業務狀態監控iOS
- Java 生態圈與微服務Java微服務
- 前端監控進階篇 — Sentry 監控 Next.js 專案實踐前端JS
- 一文帶你看透kubernetes 容器編排系統
- 使用 Sysdig 監控您的Docker容器Docker
- Docker容器視覺化監控中心搭建Docker視覺化
- 聊一聊對跨平臺容器生態的理解
- Docker批次容器編排的實現介紹Docker