Nano——开源免费docker私有云平台

Nano是基于CentOS/KVM虚拟化技术,使用服务器集群构建计算资源池并提供云主机实例管理服务的新一代IaaS(架构即服务)软件平台。

Nano最大可能采用智能化和自动化手段替代繁琐易出错的手工操作,在简单易用的基础上,提供强大而稳定的云管理平台,产品,在解放运维人员的同时,提高集群的资源利用率、可用性和可靠性。

Nano基于Go语言开发,在极低的资源占用下提供强大而稳定的服务,同时避免Openstack等传统云平台需要大量外部组件依赖,维护复杂并且稳定性差的问题。所有模块均编译为独立运行的二进制包,模块升级时直接替换即可,无需考虑复杂的外部依赖,极大降低了维护难度和工作量。

对于支持Intel VT-d或者AMD-v的普通x86服务器,管理员只需要下载并安装Nano部署包,即可在三分钟内将其转换为云管理平台,并且开始创建云主机实例。

Nano自带对用户友好的图形化管理界面,能够实现开箱即用;Nano也同时提供对机器友好的完整REST API调用接口,可以方便地集成到现有产品或者自动化运维脚本。

Nano使用MIT许可,无论自用、修改或者商用都无限制

最新功能一览

基本工作原理

Nano将一台或者多台x86服务器构建成虚拟资源池,当用户通过Web门户或者REST接口发出创建云主机请求时,Core模块根据资源池内各节点的负载情况,选择合适的承载节点,通过消息控制该承载节点所安装的Cell模块进行实例创建,并负责后续的管理调度以及资源回收等工作。


Nano——开源免费docker私有云平台

系统中Core是最核心的主控模块,它负责集群的建立与管理、资源池状态监控、云主机与镜像资源的分配调度、REST接口服务以及任务请求的处理与分发。启动集群时,Core模块需要最先启动,其他模块才能正常进入服务状态。

Cell模块运行在每个可以部署云主机实例的服务器节点上,Cell模块基于KVM与Libvirt工作,启动后持续采集节点资源状况,并实时同步到Core模块,另一方面,收到Core发来的实例创建指令时,分配相应的网络、存储和计算资源,并组装成云主机实例供用户使用。


Nano——开源免费docker私有云平台

FrontEnd模块是基于Core模块API接口的Web管理门户,它提供了资源池、云主机和镜像等资源的管理调度,也实现了基本的用户管理、安全校验、日志审计等功能,用户可以在FrontEnd上实现对整个平台集群的管理,也可以根据自己业务需求实现一套完全不同的Web应用。

通讯与组网

Nano集群节点之间使用基于UDP的可靠传输协议进行模块之间的通讯,目前版本使用JSON格式进行消息序列化与反序列化,每个消息报文除了收发者信息之外,还是用Key-Value方式传递消息参数。这种模式可以使用一个类统一进行消息解析和处理,而且能够任意扩展携带参数,同时保持后向兼容。

网络发现与组网

每个Nano集群节点至少需要使用一个UDP端口进行通讯,同时现实环境里一个服务器节点通常有多个网络设备,必须找到正确的地址和端口才能顺利建立连接。为了减少不必要而且容易出错的手工配置,Nano模块启动时,会首先利用组播协议,确定能够与Nano集群通讯的网络地址,然后在本地的工作端口范围内,找出尚未占用的监听端口,启动通讯服务。


Nano——开源免费docker私有云平台


Nano——开源免费docker私有云平台

1


Nano——开源免费docker私有云平台

效果图-1


Nano——开源免费docker私有云平台

效果图-2

作者: Akumas (bokuore@github.com)

Git库: https://github.com/project-nano

手册地址: https://nanocloud.readthedocs.io/projects/guide/zh_CN/latest/

展开阅读全文

页面更新:2024-04-15

标签:节点   集群   磁盘   端口   实例   模块   主机   消息   地址   资源   平台

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top