学习网址:

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的设计相关推荐

  1. Qt学习笔记,Qt程序架构设计要旨

    Qt学习笔记,Qt程序架构设计要旨 时间过得很快,转眼学习Qt已经有一个多月了,对Qt的学习也在不断的深入中.自己手下的code也很多了,不过不得不说,还有很多的部分没有接触过,比如网络编程,2D,3 ...

  2. python学习笔记(15)循环设计

    python学习笔记(15)循环设计 原链:http://www.cnblogs.com/vamei/archive/2012/07/09/2582435.html 注意:zip()在python2 ...

  3. Zemax学习笔记(15)- ZEMAX设计光谱仪

    Zemax学习笔记(15)- ZEMAX设计光谱仪 1.简介 2.设置 3.验证 4.光谱分辨率和衍射极限 1.简介 光谱仪(Spectrometer)是一种测量光强随波长分布的仪器,用途十分广泛.本 ...

  4. 龙芯杯学习笔记之计算机组成和设计(硬件/软件接口)

    另一篇学习笔记的地址--(13条消息) 龙芯杯学习笔记之自己动手写CPU_qq_33880925的博客-CSDN博客 本篇博客目前尚未写完,看完本篇博客目前已写的内容后(看完第二部分)对MIPS有初步 ...

  5. 人工智能学习笔记 感知器算法的设计实现 感知器准则实现多类分类

    学习来源 感知器算法的设计实现 python_监心司的博客-CSDN博客 实验原理 实验内容 1. 数据生成及规范化处理 利用高斯模型,生成 N 类(N>5)数据(2D or 3D),并对生成样 ...

  6. 学习笔记1(网络的设计)

    目录 一些理解 文章中提到的设备 如果让你来设计网络 这篇文章解释了我在上渗透测试课时遇到的一些疑问,所以阅读之后写个笔记理一下思路记下来吧 一些理解 ✅了解"TCP/IP的五层协议&quo ...

  7. UML和模式应用学习笔记-1(面向对象分析和设计)

    大学时曾经开过<UML和模式应用>的课程,当时没有引起足够的重视,只为了应付考试并没有真正掌握书中的内容:现在工作中经常要用到UML及设计模式,决定每周花点时间重新对书中的内容进行学习:本 ...

  8. 前沪江高级架构师学习笔记分享:分布式框架设计与实现

    1.分布式服务框架设计 分布式服务框架一般可以分为以下几个部分, (1)RPC基础层: 包括底层通信框架,如NIO框架.通信协议,序列化和反序列化协议, 以及在这几部分上的封装,屏蔽底层通信细节和序列 ...

  9. 【学习笔记】秒杀系统架构设计

    秒杀其实主要解决两个问题 并发读 VS 并发写 并发读的核心优化理念是尽量减少用户到服务端来"读"数据,或者让他们读更少的数据 并发写的处理原则也一样,它要求我们在数据库层面独立出 ...

最新文章

  1. 近世代数--群--怎么判断是不是群?
  2. 在线公开课 | 从理论走向实践,多角度详解Cloud Native
  3. 2018前端学习总结
  4. 使用Google App Engine开始新的网站开发学习
  5. HDU 1114 iggy-Bank(完全背包)
  6. 01_6_SERVLET如何从上一个页面取得参数
  7. 设置android模拟器的ip地址,安卓模拟器怎么改IP地址和分辨率,怎么改机型
  8. 自适应滤波器 | 时域ALE算法
  9. 管理员登录页面html代码,自己做的一个后台管理员登陆界面 .cshtml
  10. oracle 物化视图 on demand,oracle物化视图的两个典型应用场景
  11. CentOS 7 时区设置
  12. 常用工具 [ubuntu 图像编辑软件]
  13. 虚幻引擎/UE4离线安装
  14. 电脑内存不足,QQ数据占用过大,对小白友好清理方法
  15. 用arduino mega2560通过isp给 arduino uno烧录程序
  16. 我的ubuntu 8.10安装配置经验(Intrepid Ibex)(转)
  17. 【操作系统】CPU(处理器)调度
  18. [征询意见]关于博客园与出版社合作出书
  19. Windows 7 安装最新版 2021-3-1 的 tableau 时提示 “指定程序要求更新的 Windows 版本” 解决办法
  20. ArcGIS 9.2 开发学习笔记(转自Mars的自语)

热门文章

  1. JavaScript 验证码制作
  2. 经典S Q L语句大全
  3. 如何友好提示vue3.0不再支持IE11及以下的浏览器版本
  4. 四轴笔记----无线透传模块|无线图传|遥控和接收机|无线数传
  5. Hadoop之——伪分布安装
  6. oracle针对多数据只取最新一条的sql
  7. 光纤中的多种光学模式芯径_「涨知识」你想知道的光纤常识都在这里了,看不看随你...
  8. 阿里云物联网平台使用图文教程
  9. 一个基于QT的解析interproscan结果的C++成员函数
  10. 恶意PPT文件夹带漏洞攻击和后门程序