传统部署
将应用打包后直接上传服务器,服务器中两个tomcat文件夹。其中的应用在运行时因为环境不隔离的情况会出现争抢资源的情况。例如cpu、网络、内存、磁盘等。
虚拟化部署
在看到传统部署的缺点后,虚拟化部署应运而生。它能将环境隔离,它首先有服务器自带的操作系统,然后在此基础上创建多个虚拟机,虚拟机中又有各自的操作系统,能够满足不同应用的不同环境。但它也存在了资源损耗过大的缺点(也称作环境隔离过重)。例如,将一个服务器已经分成了两个虚拟机,并已经分配了所有资源,就没有办法重新创建新一个虚拟机。
容器化部署
容器化部署可以在一个系统中创建多个同环境容器,也可以创建多个不同环境的容器,这些容器可以实现文件系统、网络、cpu、内存、磁盘、进程等功能。但它不会像虚拟机一样模拟像打印机的硬件设备,这也就减少了资源的占用。
因此容器化部署解决了传统部署和虚拟化部署的缺点,提高了启动速度等优点。
K8s特点
- 自我修复:自动检测容器是否有问题,进行自动删除,并恢复到原来状态。
- 弹性伸缩:在需要时改变容器的数量,k8s会自动进行部署。
- 自动部署和回滚:编写配置文件后,自动进行部署,在进行修改后,也会自动更新,删除旧版本容器,将新版本容器上线,或者回退版本。
- 服务发现和负载均衡:自带功能。
- 机密和配置管理:配置信息自动管理。
- 存储编排:虚拟磁盘,容器访问虚拟磁盘,虚拟磁盘映射物理真实磁盘。
- 批处理:进行一些数据的批处理功能。