| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 容器与虚拟化技术 -> 正文阅读 |
|
[系统运维]容器与虚拟化技术 |
/ 从“微服务”说起 / 随着微服务架构应用开发的大量应用,很多IT公司纷纷推出了基于微服务架构的新产品,最开始微服务提供商把微服务部署在虚拟机里,实现微服务的隔离性。 随着IT行业高速发展,虚拟机不能进行快速扩展,无法立即对瞬时突增的负载或者流量做出反应。并且从成本考虑,使用传统的虚拟机技术,为了实现隔离性,每个应用或者微服务都必须运行在一个虚拟机里,这是操作系统和资源的重复和浪费,传统的虚拟机技术渐渐不能满足市场的需要,而容器技术开始成为市场新宠儿。 容 器 容器技术*:有效的将单个操作系统的资源划分到孤立的组中,以便更好的在孤立的组之间平衡有冲突的资源使用需求,这种技术就是容器技术。 *来源:百度百科 通俗来讲,一个容器包含一个镜像,镜像是将应用程序本身和其需要的其他资源(如类库、其他二进制文件、配置文件等)进行打包的集合, 容器是操作系统级虚拟化的轻量级技术。 它运行在一个隔离环境中,通过宿主机的内核,独立使用宿主机的内存、CPU 以及磁盘。 / 容器的作用 / 容器的作用是为了解决“同样代码,环境改变,无法运行”的问题,达到随时、随地、快速开展业务: 1、“运行环境改变”无影响 例如开发用的ubuntu,生产机用的redhat; 2、“软件架构改变”无影响 例如开发时用的python2.7, 但生产机上用的python3; 3、“物理设备改变”无影响 例如笔记本电脑切换到测试服务器,物理服务器切换到公有云/私有云; 容器与虚拟机关系 1、目标相同 容器与虚拟机都是通过隔离技术,构建起一套能够不依赖于具体环境而运行的应用单元; 2、实现手段不同,如图: a、虚拟机是在物理服务器的上层用软件来模拟特定的硬件系统,虚拟机软件必须使用Hypervisor作为一个中间层; b、容器化是共享宿主机操作系统的内核,因而不需要虚拟机技术的hypervisor中间层; 3、量级不同 a、虚拟机包括操作系统,大小一般是几个G,启动操作系统以及初始化托管应用会花费几分钟的时间; b、容器是轻量级的,大小在M以内;性能方面,与VM相比,容器表现更加出色,并且几乎可以秒启动; 容器的优缺点 优点 1、快速:容器技术最大的优点是创建容器实例比创建虚拟机实例快得多; 2、独立:每个容器都可以看作是一个不同的微服务,因此可以独立升级,而不用担心同步问题; 3、版本控制:镜像中打包了版本,一个容器即可以实现自身的版本控制; 4、运行环境可移植:容器封装了所有运行应用程序所必需的相关细节,比如应用依赖以及操作系统;这就使得镜像从一个环境移植到另外一个环境更加灵活; 5、标准化: 大多数容器基于开放标准,可以运行在所有主流 Linux 发行版、Microsoft 平台等等; 6、安全:容器之间的进程是相互隔离的,这样其中一个容器的升级或者变化不会影响其他容器; 缺 点 1、庞大数量带来的复杂性 随着容器及应用数量的增加,同时也伴随着复杂性的增加。在生产环境中管理如此之多的容器是一个极具挑战性的任务,可以使用 Kubernetes 和 Mesos 等工具管理具有一定规模数量的容器; 2、资源竞争问题明显 容器共享宿主机内核,使用硬件资源,同一宿主机的多个容器之间是资源间相互竞争的关系。资源合理评估和调度非常重要; 3、基于 Linux Namespace 的机制隔离不彻底 容器技术基于Linux Namespace,在linux系统中并不是所有资源和对象都能Namespace化的,例如时间,如果在虚机修改时间,会发现宿主机的也会改变; |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 12:10:51- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |