前言
虚拟化是目前很多开发和运维同学的刚需,但是目前的产品要么笨重繁杂,资源消耗高学习困难,要么收费昂贵,于是就有了Nano这个项目,一方面是为了自己用起来舒服,另一方面也是让不满现有产品的同学们有更多选择。
Nano完全用GO开发,底层虚拟化使用免费的KVM,基于自己十几年大型分布式系统的开发经验,希望把Nano设计成一个高度自动化,无需人工管理配置,轻巧简便同时兼顾性能与稳定性的IaaS平台。
Nano提供了丰富的REST API接口支持,同时也提供了完整的Web管理门户,无论是定制自己产品或者集成到现有系统都非常方便。
Nano属于个人作品,本人对代码拥有完全著作权,代码采用MIT授权,产品免费使用,所以大家自用或者商用都完全自由,不作任何限制,希望大家用的开心。
官方网站:nanos.cloud
Git库地址: github.com/project-nano
QQ群:Nano Cloud(819161083)
官方论坛:nanocloud.boards.net
维基百科: github.com/project-nano/releases/wiki
系统简介
目前Nano提供3个模块:
- Core是主控模块,负责资源池管理、集群状态监控和任务分发,同时也提供REST控制接口
- Cell是资源节点,负责创建和管理虚拟机以及相关虚拟资源,所有需要加入资源池的服务器都需要部署一个Cell模块。
- FrontEnd是可选的Web前端模块,提供Web门户服务,用户可以用过Web对整个平台进行管理和运维
整个Nano平台在正常情况下无需进行特殊配置,各模块间可以自行完成发现和组网,同时自己选择最优配置,基本上无需人工干预。无论是网络地址变化,或者操作系统重装,只需要重新启动服务就可以继续工作。平台不使用传统数据库和消息队列组件,无需额外依赖也不需要多余配置,网络断开后,模块相互间会自动重连并同步数据,最大程度确保平台可用性。
Nano对系统资源要求极低,也支持各种灵活组网方式,无论搭建分布式集群还是All in One服务器都可以随意使用。
想知道如何更好地规划自己的平台,请访问 Nano维基百科 了解更多
安装演示
以下展示在一个All in One独立服务器上安装完整Nano云平台的过程。在服务器上下载并安装Core/Cell/FrontEnd服务后,就可以通过Nano的Web门户创建和管理云主机了。官方网站 提供完整演示视频,供参考。
最低系统要求
- 支持虚拟化的X86服务器或者打开嵌套虚拟化的虚拟机
- 2核4G内存50GB磁盘和一个网络设备
- CentOS 7.5(1804) Minimal
- 操作系统安装完成并且网络就绪
下载并安装模块
以0.2.1版本为例,Nano提供了Installer安装程序,交互式引导,自动完成依赖组件、模块安装以及主要的系统配置,这也是Nano的推荐安装方式。安装包可以 在此 获取
$wget https://github.com/project-nano/releases/releases/download/v0.2.1/nano_installer_0.2.1.tar.gz
$tar zxfv nano_installer_0.2.1.tar.gz
$cd nano_installer
$./installer
输入"0,1,2"在当前服务器安装所有模块. 当您第一次安装Nano时,建议您使用安装程序建议的默认配置,无需修改。 如果你有多个网卡设备,请在安装程序的提示中选择连接内网的网卡设备进行安装。
安装Cell时需要构建桥接网络,需要用户输入"yes"进行确认
出现以下提示时说明所有服务都安装完成了
all modules installed
启动服务
所有模块默认安装在‘/opt/nano/‘路径下。模块可以手动启动,也可以自行配置随系统启动。Core模块必须第一个启动。
按照以下指令启动所有服务。
$cd /opt/nano/core
$./core start
$cd ../cell
$./cell start
$ cd ../frontend
$./frontend start
当front-end模块成功启动后,会提示一个形如"192.168.6.3:5870"的监听地址,使用Chrome或者Firefox打开这个地址就可以进行平台管理了。
通过Web门户管理平台
在浏览器中打开Nano管理门户,初始化计算资源池并创建你的第一个云主机实例。为了节约安装时间,请从 此处 下载预制镜像并上传到Nano平台直接从镜像克隆云主机,请按照下列步骤操作。
稍后您也可以通过上传ISO从零开始构建你的专属镜像。
1.上传预制磁盘镜像
"images"=>"upload",将准备好的预制镜像上传镜像,等待使用。
2.添加资源节点(Cell)
"compute pool" => "add cell", 从列表中选择未加入资源池的资源节点(Cell),添加成功并返回资源池。
"compute pool" => "cells", 确保有Cell节点处于在线状态。
3.从镜像克隆云主机
"compute pool" => "create instance", 设置云主机实例参数并在"System Image"中选择已上传的镜像进行克隆。
4.启动并管理云主机
"compute pool" => "instances", 启动实例,并通过集成Web管理终端对云主机进行监控,登录系统检查磁盘、网络等是否工作正常。
点击"start"图标启动云主机实例
云主机进入运行状态后,可以点击"Control"图标打开远程管理页面,进入云主机操作系统进行操作
当成功创建你的第一个空白云主机之后,你可以上传一个ISO文件,为你的云主机安装操作系统;或者开始通过磁盘镜像构建你的云主机模板,为批量克隆云主机做准备;或者添加新的物理节点,扩展你的可用资源。
通过Web门户你可以完成所有的管理工作。
比如监控云主机的资源用量
或者修改云主机配置、密码等
需要了解更多详情,欢迎访问 官方网站:nanos.cloud 和 官方论坛:nanocloud.boards.net
结语
Nano还在不断开发完善中,希望能够更多的同学们加入到使用者行列里,参与我们的社区,积极反馈意见和建议,协助我们不断打磨产品,也给大家一个更好的工具,更完善的平台。
原文地址:http://blog.51cto.com/13948850/2167895