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

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

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

OpenStack和KVM

OpenStack是由NASA(美国国家航空航天局)和Rackspace合作研发并发起的项目,目前已经拥有非常完善的生态。OpenStack基金会吸引了许多国际大企业的加入,2015年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进行接收、调度、启动、停止、重启和监控。

作为Google的竞争技术优势,一开始并不打算将Borg开源。但当Tiwtter打造出属于自己的Borg系统(Mesos)时, Google也审时度势推出了来源于自身技术理论的开源工具。在2014年6月由Google公司正式公布K8S并宣布开源。

同年7月,微软、Red Hat、IBM、Docker、CoreOS、Mesosphere和Saltstack等公司,相继加入K8S。之后的一年内,VMware、HP、Intel等公司,也陆续加入。K8S项目来源于Borg,可以说是凝聚了Borg设计思想的精华,也吸取了Borg系统中的经验和教训。

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

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

总结

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

责任编辑:梁菲 来源: 今日头条
相关推荐

2023-03-06 07:19:50

2020-11-05 11:11:26

云计算DockerOpenStac

2022-07-18 18:48:32

Kubernetes云原生

2023-03-03 07:54:21

2024-09-26 09:50:07

2023-03-07 07:56:37

Sqoopk8s底层

2022-10-14 07:42:50

LuceneHTTPWeb

2022-11-08 08:55:31

2022-11-06 21:31:11

云原生Sentinel集群模式

2023-03-01 07:42:12

HBase编排部署数据

2022-04-07 10:17:18

云原生服务器优化

2024-06-12 13:21:06

2022-12-26 08:14:57

K8sCronhpa定时弹性

2023-02-08 07:55:33

K8sHPA服务器

2021-08-26 07:20:05

云原生K8sSpringboot

2021-08-13 07:00:41

云原生k8sspringboot

2024-06-06 09:19:09

2024-06-18 13:22:42

Nginx云原生Kubernetes

2023-02-01 07:46:51

k8s云原生巧妙用法

2020-01-31 14:12:53

云计算HPC无服务器
点赞
收藏

51CTO技术栈公众号