openstack与k8s结合主要有两种方案。一是k8s部署在openstack平台之上,二是k8s和openstack组件集成。
首先第一种方案目前也是大多数用户选择的方案,这种方式的优点是k8s能够快速部署、弹性扩容,并且通过虚拟机的多租户间接实现了容器的多租户,隔离性好。
缺点是容器跑在虚拟机上,多多少少计算性能可能会有点损耗,网络的多层overlay嵌套也可能导致性能下降。
openstack magnum项目是该方案实现的代表,该项目为openstack提供容器编排服务,通过该组件,用户可以快速部署一个k8s、mesos以及swarm集群,原理和openstack大多数的高级服务实现差不多,先通过heat完成资源编排(创建虚拟机、volume、安全组等),然后通过镜像里面的heat-container-agent以及一些脚本完成k8s、mesos以及swarm集群的安装配置。当然,通过ironic,magnum支持将容器编排组件直接部署在物理机(裸机)上。
第二种方案是k8s与openstack的各个组件集成,在openstack社区以及k8s社区的共同努力下,目前可以集成的组件还是挺多的,下面简单介绍下。
1 k8s与openstack keystone集成
k8s可以和openstack keystone集成,即k8s可以使用keystone认证,参考keystone authentication kubernetes-cluster。
2 k8s与openstack glance集成
这个没有必要,因为docker的镜像是分层的,使用registry或者harbor即可。当然如果有必要可以使用glance存储docker镜像作为备份,不过更建议备份到openstack swift,registry以及harbor都原生支持使用swift作为存储后端。
3 k8s与openstack neutron集成
前面提到的通过magnum把容器部署在虚拟机,其实并没有根本改变k8s的网络模型,k8s的底层网络依然还是诸如flannel、contrail等网络模型,和neutron其实没有多大关系。另外,前面也说了,容器运行在虚拟机中不仅可能会导致计算性能损耗,网络的多层overlay嵌套也可能会大大降低容器的网络性能。
其实社区已经实现k8s直接openstack neutron网络集成,即kuryr-kubernetes项目。k8s的pod与openstack虚拟机是平等公民,共享neutron网络服务,k8s网络具备和openstack虚拟机等同的功能,比如安全组、防火墙、qos等。
不过遗憾的是,目前kuryr还不支持多租户,kuryr使用neutron的network以及subnet都是配置写死的,而不是创建port时指定。
4 k8s与cinder集成
目前k8s已经实现了很多volume插件,pv支持对接各种存储系统,比如ceph rbd、glusterfs、nfs等等,参考kubernetes persistent volumes,其中就包含了cinder,即k8s可以使用cinder提供volume服务,这样k8s和nova共享一套存储系统,都是cinder的消费者。cinder屏蔽了底层存储系统,k8s直接对接cinder,省去了一堆plugins的安装配置。
5 k8s与manila集成
前面提到k8s与cinder集成,其实k8s还支持与openstack manila服务集成,目前该插件已经包含在k8s的external storage项目中。
学技术 | 充电器大一统:USB Type-C接口PD协议解决方案
华为三兄弟:华为Mate10、华为P11、荣耀9消息不断,配置够强劲,每一款都是旗舰机型
企业如何加速布局智能制造
科胜讯推出CX92137成像控制器,用于ZINK Zero
保时捷纯电动Mission E 15分钟可充80%电 预计19年上市
OpenStack与K8s结合的两种方案的详细介绍和比较
单限比较器原理及阈值电压介绍
常见的AGV导航导引方式介绍
国内餐厅设计/餐饮设计最新排行榜!
关于罗德与施瓦茨公司中标多套测试系统招标项目的介绍和发展
精密电流互感器在应用中应常见的问题
多次不真实曙光后,ARM这次是否能真正建立起有意义的份额?
左零右火上接地的接法分享
电视圈“军备竞赛”开幕,TCL C78G搭载超高配置,用户体验再升级
电线电缆的特性介绍
微软宣布了一项新特性 一键搞定ppt
量子计算将如何“牵手”汽车工程领域?
普莱信智能完成Pre-B轮4000万人民币融资 加大MiniLED巨量转移设备的研发投入
分析OLED应用领域 OLED主要应用在哪里
小米手环3 NFC版即将发布,可支持刷公交、刷地铁、刷门禁