容器编排介绍

文章目录

  • IaaS:
  • PaaS cloud Foundry 如何被docker取代
  • docker swarm
  • mesos
  • kubernetes
  • rancher
  • coreos
  • 容器应用
  • devops

IaaS:

当今最火的技术一定是容器技术,在2013年却不是这样的景象,当时云计算正如火如荼发展,公有云才奠定基石 aws 和 openstack私有云是最常见的上云方式;

PaaS cloud Foundry 如何被docker取代

pass的发展,以cloud Foundry为主,当时还要过国内sae也刚起步,主打云应用产品,cloud Foundry 主要做应用打包,分发,通过一条命令做部署,cf push “应用名”,就可上传到cloud Foundry存储上,然后cf会找到只适合部署应用的宿主机节点,在相应节点通过agent将应用从cf 存储上下载到本地即可。但是,虽然cf打包发布的命令操作过程很简单,但是真正使用上一点也不容易,单符合cf的脾气,需要为没门语言,每个框架 单独的做适配,就造成了很多奇怪的现象:

  • 1虽然改了一小点但是想要发不上去,费了半天劲,适配了半天;
  • 2 本地测试好好的,一发布就出现各种奇奇怪怪的问题。并没有简化运维人员的发布过程,也没有做到环境一致性。

cf 为了在一台宿主机上部署多个应用,cf已经使用了 linux namespacelinux cgroup。正当paas推进到广为人知的时候,他的问题也是业内的一块心病,如果快速打包,快速部署;此时docker 的出现是一家叫dotcloud的公司,将自己的公司产品做开源了,他解决的正是这个打包困难的问题,他通过docker镜像打包了 可执行文件,启动脚本 以及 操作系统文件和目录。实现了环境一致性,对cf简直是降维打击。

容器编排工具兴起:
docker只是一个启动和停止容器的工具,真正被市场接受的还是能提供平台层能力的产品,这样容器编排工具便应运而生了。

docker swarm

是docker公司的产品,因为docker不满足容器化的定位,希望docker提供更多的平台能力。于是在2014年12月 DockerCon上发布了Swarm。Swarm以一个整体对外提供提供集群管理功能。最大的亮点是完全使用集群docker API完成集群管理:
部署了Swarm的环境用户只需要使用原来的Docker’指令创建容器,请求被Swarm拦截下来后,通过具体的调度算法找到一个合适的Docker Daemon运行即可。
Fig 项目第一次提出容器编排概念,容器编排就是对容器的一系列定义,配置和创建动作的管理。Fig简单到,可以在一个文件中定义多个容器,并且制定他们之间关联关系。然后就是执行一条简单的命令,其余就是调用docker API来完成容器创建于管理,Fig项目被收购后改名为docker compose,他成了至今为止仍受欢迎的项目。
一时间多少才俊 聚集在小鲸鱼身旁,真是一个大时代啊

mesos

mesos 作为 Berkeley 主导的大数据套件之一,是大数据时代最受欢迎的资源管理项目,和 Yarn 项目厮杀的惨烈。mesosphere 公司发布一个 marathon 的项目,很快成为了 docker Swarm 的有力竞争对手。mesos 虽然不能提供类似 Swarm 的原生 API,但是 mesos 超大规模集群管理经验却成了独特的竞争力,mesos+marathon的组合进化成了一个高度成熟的paas项目。
反观coreOS的rocket redhat都有些尴尬了,但是k8s出现了

kubernetes

docker公司取得了docker容器方面的绝对话语权,docker公司也变成了商业公司。这使得很多公司开始叫苦,于是成立了 runC 基金会,发布了 OCI 标准,但是由于oci执行效率低下,于是就由 Google、redhat 牵头成立一个 CNCF 基金会,对抗以docker公司为核心的容器商业生态。

  • CNCF 就确保 k8s 在容器编排方面有很大的竞争优势。CNCF 项目必须以 k8s 项目为核心。
  • swarm 的优势在于与 docker API 无缝;
  • mesos 的优势在于超大规模集群部署与管理,k8s为避免同质化,就拿出了Borg的成功经验。

竞争过程中swarm愈发封闭,k8s愈发开发,于是 k8s 的 api 工具越来越多,比如热度极高的微服务治理项目 lstio,以 k8s 为核心的项目越来越百花齐放。2017年Docker公司将Docker项目容器运行时 containerd 捐个CNCF,Docker公司将Docker项目改名为 Moby,然后交给神曲自行维护。自己独自占有Docker公司这个商标。致辞容器编排之争落下帷幕。k8s完胜。

rancher

随着docker生态站稳脚跟,涌现除了一批成功的创业公司如 rancher, rancher 自带了一套网络方案,可以实现跨机器的 docker 容器互联。其原理大致是:在每个机器上通过 docker 启动一个路由容器,将 docker 容器启动时的ip 定义为 10.42 网段,并在 iptables 中将 10.42 网段的请求转发到路由进程的监听端口,进行 udp 的封装和解封。隧道技术,通过一个程序进行封包解包,并引导docker启动容器时指定相应的 ip。而 rancherSDN 的数据存储肯定是存在内存中

  1. 采用图形化方式:易用的Web管理界面,在 Docker 易用性的基础上,再一次降低了使用容器技术部署容器应用的难度。
  2. 支持多种调度器:通过环境模板,很容易地创建和部署 Cattle、Swarm、K8S、Mesos 容器集群管理调度平台。
  3. 管理主机集群:管理对象是多台主机的集群,而不仅仅是单台容器主机,创建和管理几台、几十台应用服务器集群,只需要 Ctrl+C、Ctrl+V,复制粘贴就解决了。
  4. 内置应用商店:使用其中的 WordPress 模板,创建一个 WordPress 博客系统,只需点点鼠标,部署难度不高于申请一个免费的电子邮箱!
  5. 资源弹性分配:内置应用负载均衡器,“服务”最小只需1个容器实例,当负载不够/或过剩时,只需点点鼠标,增加/减少“服务”中容器的实例数,即可解决问题,应用系统具有天生的弹性扩容能力。

coreos

核心产品是一个定制化的操作系统,用户可以按照分布式集群方式管理所有安装了这个系统的节点。Docker发布成功后,coreos就把容器概念移植到了他的方案中,并且成为docker项目中第二重要的贡献者,但是因为docker不满足容器化,希望docker提供更多的平台能力。

容器应用

logclean 为防止宿主机磁盘资源消耗殆尽,影响业务持续运行,我们写了一个logclean 自动日志清理工具,两个作用:
1,定期清理日志,频率每小时清理一次;要求业务的日志被删除后可以继续生成
2,定期清理docker镜像文件,频率每天深夜清理一次;

container-monitor 为了获取各个宿主机上的容器性能数据,实现两个目的:
1 依据性能数据对容器做扩缩,
2 依据性能数据做相应报警

devops

传统行业的基础架构已经不能满足传统媒体向互联网媒体融合方向发展的需要,其中业务应用的多变性和敏捷交付要求变的尤为突出。
基于微服务架构的容器云技术,提供了DevOps和AIOps模式,为我们提供了新的技术平台发展动力。
中科大洋是全球领先的泛传媒产业技术服务商,央视新址媒资、央视云媒资、人民日报、新华社、各省市电视台的融媒体平台等项目均是在中科大洋的助力之下完成。
新增的重磅惊喜演讲揭秘!基于SonarQube是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误,下面将会介绍一下这个工具的安装、配置以及使用。

你可能感兴趣的:(devops)