计算机系统应用教程网站

网站首页 > 技术文章 正文

Docker教程第二章:Docker生态 docker 生产环境

btikc 2024-10-10 04:50:53 技术文章 5 ℃ 0 评论

介绍

Docker的建立基于过去的一系列概念但是它青出于蓝胜于蓝。Docker是创建“容器”的工具,它可以包容你所需要的一系列离散的应用程序和技术栈。不像虚拟机,这些容器共享相同的资源来管理容器和主机之间的交互。 这使得Docker容器更快,更轻,安全,且资源可共享。Docker的生态圈也分为两大类,第一类就是Mesosphere、Google这类做Docker的企业运行集群管理。第二类是做Docker的项目实施或是做Docker开发者公有云。由于Docker天生就是从开发者起家的,缺乏进入企业的基因,Docker的设计就不是运行于企业级环境下。2016年Docker进入企业级的需求,造就了第一类的生态公司,主要就是Mesosphere、Google和Redhat三家,Mesos本来就是部署、集群管理,之前部署Hadoop大数据、批处理、ETL之类的,随着Docker东风吹来,马上支持部署、管理Docker集群,再加一个Marathon管理长周期任务,就可以实现部署应用的CaaS,虽然离PaaS还有很大距离,缺乏很多PaaS功能


生态

容器生态系统包括 容器核心技术,容器平台技术,容器技术支持

容器核心技术:涉及容器规范、容器runtime、容器管理工具、容器定义工具、Registries、容器OS等

容器规范:runtime spec(运行规范)和image format spec(镜像格式规范),runtime spec(运行规范)和image format spec(镜像格式规范)

  • Runtime:容器真正运行的地方,runtime和操作系统的kernel紧密协作,为容器提供运行环境。
  • 容器管理工具:对内与runtime交互,对外为用户提供interface
  • 容器定义工具:允许用户定义容器的内容和属性,使容器能够被保存、共享和创建
  • Registry:通过image创建的,存放image的仓库。Docker Hub (https://hub.docker.com/)为公众提供的托管Registry
  • 容器OS:专门的容器操作系统,与常规的OS相比,容器OS通常体积更小,启动更快,是专门为容器定制的OS

容器技术平台:容器的核心技术使得容器能够在单个host上运行,而容器平台技术能够让容器作为集群在分布式环境中运行

  • 部署编排:基于容器的应用一般会采用微服务架构。这种架构下,应用被划分为不同的组件,并以服务的形式运行在各自的容器中,通过API对外提供服务。为保证应用的高可用,每个组件都可能运行多个相同的容器,这些容器会组成群集,群集中的容器会根据业务需要被动态地创建、迁移和销毁。编排通常包括容器管理、调度、集群定义和服务发现等。通过容器编排引擎,容器被有机地组合成微服务应用,实现业务需求。

1):docker swarm:docker开发的容器编排引擎

2) :Kubernetes:Google领导开发的容器编排引擎,同时支持Docker和CoreOS容器

3) : Mesos:通用的集群资源调度平台,mesos与marathon一起提供容器编排引擎功能。

  • 容器管理平台:容器管理平台是架构在容器编排引擎之上的一个更为通用的平台。通常支持多种编排引擎典型代表Rancher和ContainerShip
  • 基于容器的Paas:为开发人员和公司提供了开发、部署和管理应用的平台,典型代表Deis、Flynn和Dokku


容器支持技术:被用于支持基于容器的基础设施

  • 容器网络:容器的出现使网络拓扑变得更加动态和复杂。用户需要专门的解决方案来管理容器与容器、容器与其他实体之间的连通性和隔离性。Docker network是docker原生的网络解决方案,除此之外还可采用第三方开源解决方案:flannel、weave和calico。不同方案的设计和实现方式不同,各有优势和特点,可根据时间需要来选型。
  • 服务发现:动态变化是微服务应用的一大特点。当负载增加时,集群会自动创建新的容器;负载减小,多余的容器会被销毁。容器也会分局host的资源使用情况在不同host中迁移,容器的IP和端口也会随之发生变化。服务发现会保存容器集群中所有微服务最新的信息
  • 监控:监控对于基础架构非常重要,而容器的动态特征会对监控提出更多挑战。docker ps/top/stats 是Docker原生的命令行监控工具。Sysdig、cAdvisor/Heapster和Weave Scope是其他开源的容器监控方案
  • 数据管理:容器经常会在不同的host之间迁移 Rex-Ray数据管理工具提供保证持久化数据能够动态迁移
  • 日志管理:docker原生的日志工具,以及logspout对日志提供了路由功能,可收集不同容器的日志并转发给其他工具进行后处理
  • 安全性:OpenSCAP能够对容器镜像进行扫描,发现潜在的漏洞


相关推荐:

Docker教程第一章:Docker介绍

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表