前文
关于k8s的书籍和官网看的很多,但要数讲的最深的,当属张磊在极客时间上的课程《深入剖析Kubernetes》,对应链接:https://time.geekbang.org/column/intro/100015201,本文结合前四章,记录docker和k8s的简单发展史,可以快速了解这一段时间的发展和部分名词的定义
Docker的发展历程
1.2013年 dotCloud的docker公司,开源容器项目docker代码;后续更名为Docker公司
2.2014年,Docker发布Swarm项目,意在PAAS解决集群化部署问题
3.2014-2015年,Docker收购了Fig,发布Docker-compose来解决"容器编排"问题
4.2015年,由于Docker的快速发展,在容器化上有很大话语权,届时其他的PAAS厂商或者容器化厂商,需要重夺优势,于是成立了CNCF(cloud native computing foundation),意在推崇Kubernetes来解决容器化问题;而k8s瞬间收到疯狂追捧,直接抢占了规模化集群部署和容器编排的市场。
部分名词的思想理念
经典云计算架构:包括了IaaS(Infrastructure as a Service,基础设施即服务)、PaaS(Platform as
a Service,平台即服务)、SaaS(Software as a Service,软件即服务)三层服务:
1.IaaS层为基础设施运维人员服务,提供计算、存储、网络及其他基础资源,云平台使用者
可以在上面部署和运行包括操作系统和应用程序在内的任意软件,无需再为基础设施的
管理而分心。
2.PaaS层为应用开发人员服务,提供支撑应用运行所需的软件运行时环境、相关工具与服
务,如数据库服务、日志服务、监控服务等,让应用开发者可以专注于核心业务的开发。
3.SaaS层为一般用户服务,提供了一套完整可用的软件系统,让一般用户无需关注技术细
节,只需通过浏览器、应用客户端等方式就能使用部署在云上的应用服务
Docker思想:在PAAS解决上述问题时,绕不开的是打包和部署,而部署用容器化部署,本质上是Namespace和Cgroup来做这块,但是如何打包保证本地远程环境一致,Docker的image镜像横空出世,解决了这块的问题,使得Docker一下子步入大家的视野
Kubernetes思想:k8s杀出之前,存在docker swarm和mesos两者支撑大规模集群部署,前者拥有和docker生态无缝兼容的优势,后者则是拥有大规模集群部署的经验能力;而CNCF主要是由Google和RedHat牵头的,k8s本身又是脱胎于borg和omega这两个google本身已经开发的系统,自身已经集成了pod、sidebar等设计理念,加之Kubernetes重开发者思想,在每一层的API上都充分支持开发者撰写插件接入,其发展态势瞬间超越docker
Docker的优势:持续部署与测试、跨云平台支持、环境标准化和版本控制、高资源利用和资源隔离
容器云:容器云以容器为资源分割和调度的基本单位,封装整个软件运行时环境,为开发者和系统管
理员提供用于构建、发布和运行分布式应用的平台。当容器云专注于资源共享与隔离、容器编
排与部署时,它更接近传统的IaaS;当容器云渗透到应用支撑与运行时环境时,它更接近传统
的PaaS。不仅仅指代docker,比如CoreOS的rkt容器也是。