学习笔记2-了解unik的设计
学习网址:
https://github.com/cf-unik/unik/blob/master/docs/architecture.md
一、UniK设计
UniK守护进程由3个主要组件组成。
- 该API服务器( API server)
- 编译器(Compilers)
- 提供商(Providers)
该API服务器将处理来自CLI /任何HTTP客户端发出的请求,然后确定适当的provider/或编译器来服务该请求。
当API服务器收到构建(build)请求(POST /images/:image_name/create
)时,它会调用指定的编译器(compiler)来构建原始映像,然后将原始映像传递给指定的提供者(provider),该提供者使用Stage()
方法处理原始映像,将其转换为基础架构特定的可引导镜像(例如AWS上的Amazon AMI)
镜像上所有后续操作的提供程序由构建镜像的提供程序的引用确定。
有关添加提供商的更多信息,请参阅提供商
有关添加编译器的更多信息,请参阅编译器
1、provider
提供商处理UniK主要对象类型的长期管理:
1)Images
2)Instances
3)Volumes
提供者通常存储某种类型的状态,其中可能包括现有状态的JSON表示,以及磁盘映像文件。UniK的默认提供者现在将它们的状态存储在~/.unik/。
提供者执行API调用,与系统管理程序 / 云提供程序 / 基础设施进行对话,并在其中运行映像 并运行实例。
要添加一个实现提供商的守护进程,在
daemon.go中
看 Unik API Server构造函数func NewUnikDaemon(config config.DaemonConfig) (*UnikDaemon, error)
详细信息见:https://github.com/cf-unik/unik/blob/master/docs/providers/README.md
2、compiler
编译器的工作是将目录源文件编译为原始引导磁盘映像。编译器的行为意在独立于提供者。 编译器可以在RawImage返回类型中传递提供者所需的其他信息,例如与该编译器创建的unikernels所使用的存储驱动程序或网络适配器。有关RawImage的更多信息,请参阅 types 包。
提供商必须通过GetConfig()方法指定与它们兼容的编译器。 如果您已将编译器添加到UniK,则应将编译器的名称添加到编译器要用于的每个提供者的GetConfig()方法中。
要添加对UniK的编译器支持,必须将编译器添加到Unik API Server构造函数中的_compilers映射函数func NewUnikDaemon(config config.DaemonConfig)(* UnikDaemon,error)在daemon.go中。
转载于:https://www.cnblogs.com/summer2017/p/7596781.html
学习笔记2-了解unik的设计相关推荐
- Qt学习笔记,Qt程序架构设计要旨
Qt学习笔记,Qt程序架构设计要旨 时间过得很快,转眼学习Qt已经有一个多月了,对Qt的学习也在不断的深入中.自己手下的code也很多了,不过不得不说,还有很多的部分没有接触过,比如网络编程,2D,3 ...
- python学习笔记(15)循环设计
python学习笔记(15)循环设计 原链:http://www.cnblogs.com/vamei/archive/2012/07/09/2582435.html 注意:zip()在python2 ...
- Zemax学习笔记(15)- ZEMAX设计光谱仪
Zemax学习笔记(15)- ZEMAX设计光谱仪 1.简介 2.设置 3.验证 4.光谱分辨率和衍射极限 1.简介 光谱仪(Spectrometer)是一种测量光强随波长分布的仪器,用途十分广泛.本 ...
- 龙芯杯学习笔记之计算机组成和设计(硬件/软件接口)
另一篇学习笔记的地址--(13条消息) 龙芯杯学习笔记之自己动手写CPU_qq_33880925的博客-CSDN博客 本篇博客目前尚未写完,看完本篇博客目前已写的内容后(看完第二部分)对MIPS有初步 ...
- 人工智能学习笔记 感知器算法的设计实现 感知器准则实现多类分类
学习来源 感知器算法的设计实现 python_监心司的博客-CSDN博客 实验原理 实验内容 1. 数据生成及规范化处理 利用高斯模型,生成 N 类(N>5)数据(2D or 3D),并对生成样 ...
- 学习笔记1(网络的设计)
目录 一些理解 文章中提到的设备 如果让你来设计网络 这篇文章解释了我在上渗透测试课时遇到的一些疑问,所以阅读之后写个笔记理一下思路记下来吧 一些理解 ✅了解"TCP/IP的五层协议&quo ...
- UML和模式应用学习笔记-1(面向对象分析和设计)
大学时曾经开过<UML和模式应用>的课程,当时没有引起足够的重视,只为了应付考试并没有真正掌握书中的内容:现在工作中经常要用到UML及设计模式,决定每周花点时间重新对书中的内容进行学习:本 ...
- 前沪江高级架构师学习笔记分享:分布式框架设计与实现
1.分布式服务框架设计 分布式服务框架一般可以分为以下几个部分, (1)RPC基础层: 包括底层通信框架,如NIO框架.通信协议,序列化和反序列化协议, 以及在这几部分上的封装,屏蔽底层通信细节和序列 ...
- 【学习笔记】秒杀系统架构设计
秒杀其实主要解决两个问题 并发读 VS 并发写 并发读的核心优化理念是尽量减少用户到服务端来"读"数据,或者让他们读更少的数据 并发写的处理原则也一样,它要求我们在数据库层面独立出 ...
最新文章
- 近世代数--群--怎么判断是不是群?
- 在线公开课 | 从理论走向实践,多角度详解Cloud Native
- 2018前端学习总结
- 使用Google App Engine开始新的网站开发学习
- HDU 1114 iggy-Bank(完全背包)
- 01_6_SERVLET如何从上一个页面取得参数
- 设置android模拟器的ip地址,安卓模拟器怎么改IP地址和分辨率,怎么改机型
- 自适应滤波器 | 时域ALE算法
- 管理员登录页面html代码,自己做的一个后台管理员登陆界面 .cshtml
- oracle 物化视图 on demand,oracle物化视图的两个典型应用场景
- CentOS 7 时区设置
- 常用工具 [ubuntu 图像编辑软件]
- 虚幻引擎/UE4离线安装
- 电脑内存不足,QQ数据占用过大,对小白友好清理方法
- 用arduino mega2560通过isp给 arduino uno烧录程序
- 我的ubuntu 8.10安装配置经验(Intrepid Ibex)(转)
- 【操作系统】CPU(处理器)调度
- [征询意见]关于博客园与出版社合作出书
- Windows 7 安装最新版 2021-3-1 的 tableau 时提示 “指定程序要求更新的 Windows 版本” 解决办法
- ArcGIS 9.2 开发学习笔记(转自Mars的自语)