1、Docker和K8S
Docker 是一个开源的、轻量级的容器引擎,和 VMware 虚拟机相比,Docker 使用容器承载应用程序,而不使用操作系统,所以它的开销很少,性能很高。但是,Docker 对应用程序的隔离不如虚拟机彻底,所以它并不能完全取代 VMware。
在传统的开发过程中(我之前的开发过程),以Java为例,一般都是本地(开发机)开发运行然后打成jar、war包放到服务器上,然后在服务器上部署相关环境(JDK、Redis、Mysql、Nginx等),非常麻烦。一款产品开发–上线是两套不同的环境,应用环境,应用配置都是不同的,很容易导致的问题是:为什么在本地可以运行,部署后出现问题,版本更新后为什么导致服务不可用,对于运维来说考验十分大。
环境配置是十分的麻烦(对Linux不熟悉的同学经常会出现各种各样奇葩的问题,甚至把环境搞脏),对于集群每一个都要部署环境(集群Redis、ES、Hadoop…) 费事费力。发布一个项目( jar + (Redis MySQL JDK ES) ),项目能不能带上环境安装打包。
基于以上问题,Dokcer提出了解决方案。
相信很多人都用过虚拟机,虚拟机,就是在你的操作系统里面,装一个软件,然后通过这个软件,再模拟一台甚至多台“子电脑”出来。 在“子电脑”里,你可以和正常电脑一样运行程序,例如开QQ。如果你愿意,你可以变出好几个“子电脑”,里面都开上QQ。“子电脑”和“子电脑”之间,是相互隔离