Chinaunix首页 | 论坛 | 博客
  • 博客访问: 197580
  • 博文数量: 35
  • 博客积分: 656
  • 博客等级: 上士
  • 技术积分: 543
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-25 10:22
文章分类

全部博文(35)

文章存档

2018年(3)

2015年(1)

2013年(8)

2012年(12)

2011年(11)

我的朋友

分类: 云计算

2018-04-09 18:01:27

一. 虚拟化技术: VM与Container


二. docker 支撑的技术框架
1. 名称空间NameSpace

内核隔离,环境隔离

PID NameSpace: Linux 2.6.24 PID隔离
Network NameSpace: Linux 2.6.29 网络设备,网络栈,端口等网络资源隔离
User NameSpace: Linux 3.8 用户和用户组资源隔离
IPC NameSpace: Linux 2.6.19 信号量,消息队列和共享内存的隔离
UTS NameSpace: Linux 2.6.19 主机名和域名的隔离
Mount NameSpace: Linux 2.4.19 挂载点(文件系统)隔离

2. Cgroup
Linux Control Group 控制组, Linux2.6.24
内核级别,限制,控制与一个进程组群的资源;

资源:CPU ,内存, IO

功能:
Resource Limitation:资源限制
Prioritization:优先级控制
Accounting:审计和统计,主要为计费
Control:挂起进程,恢复进程
/sys/fs/cgroup

centos 7:
mount 可以看到很多cgroup的挂载信息

lssubsys -m

CGroup的子系统:
blkio:设定块设备的IO限制
cpu:设定cpu的限制
cpuacct:报告cgroup中所使用cpu资源
cpuset:为cgroup中的任务分配cpu和内存资源
memory:设定内存的使用限制
devices:控制cgroup中的任务对设备的访问
freezer:挂起或者恢复cgroup中的任务
net_cls:(classid),使用等级级别标识符来标记网络数据包,以实现基于tc完成对不同的cgroup中产生的流量的控制
tc命令 tc -h
perf_event:性能控制相关的事件,对性能进行追踪和统计
hugetlb: 对HugeTLB系统进行限制;

CGroup术语:
task(任务):进程或者线程
cgroup:一个独立的资源控制单位,可以包含一个或多个子系统
subsystem:(子系统)
hierarchy:层级

AUFS: UnionFS
UnionFS: 把不同物理位置的目录合并到同一个目录中。
AUFS:Another UFS, Alternative UFS, Advanced UFS


Device mapper:
用于在内核中支持逻辑卷管理的通用设备映射机制
Mapped Device
Mapping Table
Target Device

Docker:
2013, GO, Apache 2.0 , dotCloud company

C/S 架构:
Docker client:发起docker的相关请求
Docker Server:容器运行的节点

核心组件:
docker client:Docker的客户但工具,是用户使用docker的主要接口,docker client 与docker daemon 通信,并将结果返回用户
docker daemon:运行与宿主机上,Docker守护进程,用户可通过docker client与其交互;
Image:镜像文件(只读),用来创建container,一个镜像可以运行多个container;镜像文件可以通过docker file创建,也可以从docker hub下载
repository
公共仓库:Docker hub/registry
私有仓库

docker container:docker的运行实例,容器是一个隔离环境

另外两个重要组件:
docker link;
docker volume;


阅读(1887) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~