如果单位的IAAS能力提供祼金属服务,特别是软硬一体化加速的祼金属服务,则优先祼金属服务,可获得高性能的同时,也得到了扩缩容的弹性支持。
否则,建议采用虚拟机以提升交付效率、弹性伸缩和降低运维成本。
容器云当然既可以选择裸金属,也可以选择虚拟机。
选择裸金属,可以避免损耗提高资源的利用率,提升 ROI 。同时也能更高效的利用硬件级别的创新,如计算加速设备,低延迟大带宽网络设备,高性能持久化设备等。应用裸金属的问题在于如何提高底层硬件资源的管理和监控能力,相对于传统的云计算平台, k8s 本身作为一个服务和负载的调配平台,目前对底层资源的管理能力相对较弱。
选择虚拟机可以最大化利用现有的基于虚拟化的云计算资源,虚拟化本身也带来更强的资源隔离性。但相对裸金属,一是有资源的消耗,另外很多硬件创新无法及时、高效的提供给应用使用。
我个人的观点是,裸金属应该是未来的发展方向。云原生技术重要的优势之一就是能够减少软件层的隔离,使硬件创新能够更好地支持应用的运行,提升性能可靠性等。云原生社区也在针对裸金属架构下,提升硬件资源的管理能力做出努力。 kube-virt 等项目也在尝试打通 k8s 和传统的虚拟化云平台。另外,针对容器本身资源隔离性不如传统虚拟化的问题,也有 kata container , gvisor 等项目在提供解决方案。这个领域 Intel 同样在做出贡献,您可以参考 https://01.org/kubernetes 。
收起对于Alauda来说,理论上我们的容器可以运行在任意基础设施上,包括虚拟机和裸金属。
在早期2018~2019年之前,中小银行容器云建设一般大部分会选择虚拟机作底层计算资源,但是随着容器技术的成熟,目前渐渐有一种趋势是选择裸金属服务器作为容器云平台建设的底层计算资源 。
裸金属服务器作为底层计算资源相比与虚拟机的优点:
1、性能层面:由于少了虚拟机这一层的性能损耗,裸金属服务器构建出来的容器平台性能损失较小;
2、成本层面:由于少了虚拟机部分的建设投入,裸金属服务器构建出来的容器平台成本投入较低;
3、管理层面:由于少了虚拟机这一层的运维管理,裸金属服务器构建出来的容器平台运维管理更为简单。
裸金属服务器作为底层计算资源相比与虚拟机也有一些缺点,主要是在容器云扩容层面,容器云的节点扩容性不如虚拟机,毕竟裸金属服务器的采购周期较长。
另外想要提一下,Intel基础设施层面的优化工具里面包括一些CPU调度相关组件(CPU Management,Resource Management Daemon等),可以帮助我们实现裸金属的高级部署方式,目前在测试与引入阶段,下一步会在我们的容器平台上进行应用优化。
收起