IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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化的,例如时间,如果在虚机修改时间,会发现宿主机的也会改变;

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-24 15:57:18  更:2021-08-24 16:02:40 
 
开发: 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年12日历 -2024/12/29 8:41:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计