技术分享
【虚拟化与云计算】基本概念与架构
2020-06-09
泊坞窗基本概念与架构
什么是容器?
一种虚拟化的方案
操作系统级别的虚拟化
只能运行相同或相似内核的操作系统
依赖于Linux内核特性:Namespace和Cgroups(控制组)
Linux容器技术vs虚拟机
什么是多克?
将应用程序自动部署到容器
去语言开源引擎Github地址:https://github.com/docker/docker
2013年初dotCloud
基于Apache2.0的开源授权协议发行
泊坞窗的目标
提供简单轻量的建模方式
职责的逻辑分离
快速高效的开发生命周期
鼓励使用面向服务的架构
泊坞窗的使用场景
使用泊坞窗容器开发,测试,部署服务。
创建隔离的运行环境
搭建测试环境
构建多用户的平台即服务(PaaS的)基础设施
提供软件即服务(SaaS)的应用程序
高性能,超大规模的宿主机部署
码头工人的基本组成
Docker Client客户端
Docker Daemon守护进程
Docker Image镜像
Docker Container容器
Docker Registry仓库
泊坞客户端/守护进程
C / S架构
本地/远程
Docker Image镜像
容器的基石
层叠的只读文件系统
联合加载(union mount)
Docker Container容器
通过镜像启动
启动和执行阶段
写时复制(copy on write)
Docker Registry仓库
公有
私有
Docker Hub
泊坞窗容器的相关技术简介
泊坞窗依赖的Linux的内核特性
命名空间命名空间
对照组(cgroups)控制组
命名空间命名空间:
编程语言:封装 - >代码隔离
操作系统:系统资源的隔离(进程,网络,文件系统......)
命名空间命名空间的五种隔离技术
PID(进程ID)进程隔离
NET(网络)管理网络接口
IPC(InterProcess Communication)管理跨进程通信的访问
MNT(山)管理挂载点
UTS(Unix Timesharing System)隔离内核和版本标识
控制组控制组
用来分配资源
来源于谷歌
Linux内核2.6.24@2007
控制组控制组可以做什么?
资源限制
优先级设定
资源计量
资源控制
泊坞窗容器的能力
文件系统隔离:每个容器都有自己的根文件系统
进程隔离:每个容器都运行在自己的进程环境中
网络隔离:容器间的虚拟网络接口和IP地址都是分开的
资源隔离和分组:使用的cgroup将CPU和内存之类的资源独立分配给每个泊坞容器
- 标签:
-
云计算