1. 首页 > 头条

云计算管理平台OpenStack与K8S 云原生技术

开源云计算技术总的来说经历了两代发展,第一代是基于虚拟机的开源云计算技术,以OpenStack和KVM为代表,第二代是基于容器的开源云计算技术,以Kubernetes和Docker为代表。总的来说,Kubernetes是管理容器的工具,OpenStack是管理VM的工具。

OpenStack和KVM

OpenStack是由NASA(美国国家航空航天局)和Rackspace合作研发并发起的项目,目前已经拥有非常完善的生态。OpenStack基金会吸引了许多国际大企业的加入,2年7月Google也加入了OpenStack基金会。

KVM ( Kernel-based Virtual Machine)是一种基于Linux内核的开源虚拟化技术,可以代替VMWare公司的ESXi技术。

KVM 是 Linux 的一部分,KVM 于2006年首次公布,并在一年后合并到主流 Linux 内核版本中,Linux 2.6.20 及其更新版本都包括 KVM。KVM 可将 Linux 转变为虚拟机监控程序,使主机能够运行多个隔离的虚拟环境(VM)。

KVM作为OpenStack默认的虚拟机管理程序,大约有95%的OpenStack平台由KVM驱动。OpenStack + KVM成为了应用最多的开源虚拟机管理方案。

如上图所示,KVM是最底层的虚拟机监控程序(hypervisor),用来模拟CPU的运行,由于KVM缺少了对网络和I/O的支持,所以没法直接用它。QEMU-KVM是一个完整的模拟器,是构建于KVM上,提供了完整的网络和I/O支持。

Openstack不会直接控制QEMU-KVM,它会通过一个叫 Libvirt 的库去间接控制。Libvirt是用于管理虚拟化平台的开源的API,后台程序和管理工具,可以用于管理KVM、Xen、VMware ESX、QEMU和其他虚拟化技术。

K8S的诞生

Kubernetes这个单词来自于希腊语,含义是舵手或领航员。K8S是它的缩写,用“8”字替代了“ubernete”这8个字符。K8S和Google的关系更大,K8S的前身就是Google自己捣鼓了十多年的Borg系统。前文《云原生技术:CNCF的首位毕业生Kubernetes 》曾经介绍过。

在Google内部,容器技术已经应用了很多年,Borg系统运行管理着成千上万的容器应用。在Borg系统中,每时每刻都在处理来自众多应用程序所提交的成百上千的Job, 对这些Job进行接收、调度、启动、停止、重启和监控。

Docker技术起源于2013年3月,是基于LXC为基础构建的容器引擎,通过namespace和cgourp实现了资源隔离和调配,使用分层存储来构建镜像。它基于Google公司推出的Go语言实现。关于Docker及容器技术可以参考前文《容器运行时:从Docker到Containerd 》。

K8S和Docker这一套技术组合经常配合使用。不过近期K8S停止了对Docker容器运行时的支持,默认支持的容器运行时是Containered。前文《云原生技术:K8S弃用Docker是怎么回事 》曾经介绍过这件事,感兴趣的朋友可以翻一下。

总结

Openstack的定位是IaaS平台,主要适用于搭建私有云以及基于私有云的使用的场景。K8S的定位是PaaS平台,尤其适合微服务应用的部署。

本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载者并注明出处:https://jmbhsh.com/toutiao/34588.html

联系我们

QQ号:***

微信号:***

工作日:9:30-18:30,节假日休息