前言
容器技术现如今已是处于火热状态,在云计算和服务器领域可算得上是呼风唤雨,然而就像枭雄也可能起于毫末,容器在最初的时候,也不过一个无名之辈.

起源
容器的概念最早来源于1979年UNIX的chroot,实际上就就是一个操作系统上的调用而已,用于将一个进程及其子进程的根目录改变到文件系统的一个新位置,以便于让这些进程能够访问到该目录.

这个功能最初的想法是为每个进程提供独立的磁盘空间.后来在1982年,它被吸收进BSD UNIX中.2000年的时候,它进化为FreeBSDJails,类似与chroot但是它可以为文件系统、用户、网络等的隔离增加了进程沙盒功能。因此,它可以为每个 jail 指定 IP 地址、可以对软件的安装和配置进行定制等。其后,又有新的分支产生,比如Linux VServer(2001),Solaris Containers(2004),OpenVZ(2005),Process Containers(2006),Control Groups(2007)

发展
直到2008年的LXC,到此时,可算是是现代容器技术才初次进化完成.LXC 的意思是 LinuX Containers,它是第一个最完善的 Linux 容器管理器的实现方案,是通过 cgroups 和 Linux 名字空间namespace实现的。LXC 存在于 liblxc 库中,提供了各种编程语言的 API 实现,包括 Python3、Python2、Lua、Go、Ruby 和 Haskell。与其它容器技术不同的是, LXC 可以工作在普通的 Linux 内核上,而不需要增加补丁。

大放异彩
2013年,Docker技术诞生,Docker 是到现在为止最流行和使用广泛的容器管理系统。它最初是一个叫做 dotCloud 的 PaaS 服务公司的内部项目,后来该公司改名为 Docker。类似 Warden,Docker 开始阶段使用的也是 LXC ,之后采用自己开发的 libcontainer 替代了它。不像其它的容器平台,Docker 引入了一整个管理容器的生态系统,这包括高效、分层的容器镜像模型、全局和本地的容器注册库、清晰的 REST API、命令行等等。稍后的阶段, Docker 推动实现了一个叫做 Docker Swarm 的容器集群管理方案。微软公司也于2016年正式推出Windows容器。通过在高度优化的虚拟机中运行每个容器,在由 Windows Server 容器提供的隔离上扩展。 在此配置中,容器主机的内核不与 Hyper-V 容器共享。Hyper-V容器是一个新的容器技术,它通过Hyper-V虚拟化技术提供高级隔离特性。

未来
在kubenetes(在希腊语中, Kubernetes 意为舵手,也是 Cyber 的词源,为了少打字,业界一般称之为 K8s )的加持下,Docker如虎添翼,终于进化成重型武器.Kubenetes是Google开源的容器管理系统,是Google多年大规模容器管理技术Borg的开源版本,也是CNCF最重要的项目之一.k8s有以下优点:采用声明式 API ,给予用户极高的灵活度,开发者可以将 K8s 无缝融合到自己的服务中,使之成为 K8s 的本地服务IaaS服务商可以毫不费力的将 K8s 应用在原有基础设施上.K8s 是一项开源技术,无须考虑厂商锁定问题,因而受到了 Google 、 IBM 、惠普、VMWare 、微软等主要厂商的支持.可以说,k8s集优雅与灵活性于一身,云服务的未来一定属于k8s.

网友评论