请教各位,生产环境的虚拟化环境使用VMware vsphere,而开发测试想上云平台,底层使用kvm做计算虚拟化,那么,在开发测试内测试通过的代码,直接上线生产环境,会有问题吗?(生产与开发测试环境中虚拟机)
环境不一致无法确保会有一样的结果,最好保持测试生产环境一致性,比如利用容器环境一致性,以镜像仓库为媒介,镜像为载体,下层可以利用不同的虚拟化环境,但需要确保容器版本相同,并被支持
收起底层虚拟化环境不一致,如使用虚机其上的操作系统版本一致的话,开发测试通过的代码移植到生产环境可以进行使用。只要确保操作系统及其上配置信息保持一致的话是不会有问题发生的。
收起只要生产测试的产品不涉及操作系统底层或驱动相关的内容,KVM 和 Vmware 虚拟化环境上的操作系统如果还是一致得分话,代码部署应用是没有问题的。
如果在虚拟化的基础上配置使用容器和容器编排的环境要确保其版本和配置文件一致,涉及存储的话也是如此
严谨的来说,这样可能会出问题。
开发测试环境的意义就在于,尽可能保证其他因素不变,只测试不同代码在相同环境下的运行状况。虽然大部分公司开发测试环境的服务器配置,肯定是比生产低的,CPU、内存、IO或多或少性能不一致,但理想状态还是尽可能的保持一致。
而kvm和vsphere,在提供的操作系统层面,可能保持了一致,但是因为两者,一个是基于linux kernel,一个是基于esxi kernel,也因此,对于虚拟出来的操作系统层面的CPU运算、IO处理和路径上,都是不一样的,这种情况下,如果碰到了非常极端的高CPU运算,大IO的情景,可能还是能体现出差异的。
当然,一般来说,因为这两者虚拟化选择而出现问题的情况应该是极少的,愿不愿意为了这一点的差异,来花钱提高稳定,就看自己的取舍了
收起