1 虚拟化
1.1 什么是虚拟化
虚拟化是一种资源管理技术,是将计算机的各种实体资源,予以抽象,转换后呈现出来,打破实体结构不可切割的障碍,使用户可以用比原本的组态更好的方式来应用这些资源。虚拟化的核心是对资源的抽象。
1.2 虚拟化分类
分类 |
说明 |
案例 |
---|---|---|
完全虚拟化 | 虚拟机模拟完整的底层硬件环境和特权指令的过程,客户操作系统无须进行修改 | VMware VirtualBox |
硬件辅助虚拟化 | 利用硬件(主要是CPU)辅助支持(Intel-VT AMD-V)处理敏感指令来实现完全虚拟化的功能,客户操作系统无须修改 | VMware Xen KVM |
部分虚拟化 | 只针对部分硬件资源进行虚拟化,客户操作系统需要进行修改 | 现有虚拟化技术的早期版本 |
超虚拟化 | 部分硬件接口以软件的形式提供给客户机操作系统,客户操作系统需要进行修改 | 早期的Xen |
操作系统·级虚拟化 | 内核通过创建多个虚拟的操作系统实例(内核和库)来隔离不同的进程 | 容器化相关技术 |
2 什么是容器化
2.1 传统运维的流程
2.1.1 二进制安装
tar -zxvf xxx
make test
make & make install
编译测试过程中经常出现.so依赖缺失,继续各种找,找到了版本又不匹配
安装完毕之后各种配置环境变量,服务启动
进行迁移复制,需要根据不同环境生成不同的运行脚本
2.1.2 yum
yum install
yum remove
一个机器不能存在多个版本,升级中间件要卸载,导致正在运行中的应用很尴尬
2.1.3 传统的tomcat发布
一台宿主机配置很高,部署多个tomcat,因为端口不能冲突,对每个文件夹下的tomcat各种改
2.1.4 不同版本系统不同的服务管理机制
centos6 service
centos7 systemd
2.1.5 内存管理困难
一个应用因为bug等因素将内存吃满,导致该机器上所有的软件都卡死