Debian云工具

最近,我已经开发了基于Ubuntu标准的云实用程序,并将它们移植到了Debian中。让我们来看看如何将Debian工具带到云端!

云镜像的基础

在IaaS(基础设施即服务)平台上启动新实例时,实例镜像处于初始未被配置状态。因此,需要一种方法在实例启动时根据使用者情况来自动配置实例。通常,IaaS平台为此提供了一个元数据服务器,比如在Amazon EC2(亚马逊云EC2)中就有提供此类服务器。这个元数据服务器实际是一个正在监听一类特殊硬编码IP地址的HTTP服务器,当实例启动时,实例可以由这个服务器请求获取它自己的基本信息,如主机名,并通过检索基本的用户元数据来自动配置实例。用户可以查看有关OpenStack元数据服务文档来获取更多信息。

另外,镜像会被预先设定大小后上传平台。但镜像在平台上运行时,运行镜像所需平台磁盘通常比镜像要大:可能需要调整镜像大小以便充分利用平台分配给实例的全部磁盘空间。

需要的工具

平台上运行实例时,尤其像Amazon EC2OpenStack这类平台,需要根据启动的环境来配置和更新镜像。包括扩展模板镜像磁盘,这有利于充分使用运行实例的可用磁盘。

Ubuntu提供了一套云实用程序,它实际上由不同的源代码包(cloud-initcloud-utils、clout-initramfs-tools)组成。

这三个源代码包结合起来,可以让用户在调整磁盘大小至Puppet配置间均可对实例进行操作。

Ubuntu在很久以前就有这三个源代码包,但不幸的是,Debian一直未被开发出来。

我一直致力于将这些源代码包移植到Debian中,直到现在才有所收获。

现在大家可以找到这3个源代码包,然后上传到Debian sid。

首先,建立一个Debian镜像,运行:

apt-get install cloud-init cloud-tools cloud-initiramfs-growroot

注意:实例重启后,实例根分区会扩展到全部的可用磁盘大小,并会请求元数据服务器应答,检索用户元数据如主机名来配置实例。

可用于云的cloud-utils和cloud-initramfs-tools源代码包在Debian的git服务器上,这两个源代码包用户可以自行通过ftp-master上传下载在云平台上构建它们,更下后退出NEW队列。 另一源代码包cloud-init可以直接在sid中使用。

这类工具完成后,接下来准备开始开发vmbuilder之类的工具,以便用户能够通过简单的命令行构建云兼容的Debian镜像。

本文的版权归 威廉 所有,如需转载请联系作者。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏魏艾斯博客www.vpsss.net

宝塔 Linux 面板发布 3.6 版本

1934
来自专栏实战docker

Docker搭建disconf环境,三部曲之一:极速搭建disconf

分布式配置管理平台Disconf会依赖redis,zookeeper,nginx,tomcat,mysql等服务,所以环境的配置和搭建略为麻烦,如果有现成镜像的...

2546
来自专栏FreeBuf

巡风风险扫描开源系统的一些演变

同程SRC团队开源巡风资产风险控制系统也有一段时间了,我们临时用它作为一个简单的soc平台来使用,期间也做了一些定制化开发,此次分享,权当做个笔记吧。基于巡风我...

1012
来自专栏Rainbond开源「容器云平台」

开源Rainbond发布v3.4.2更新:应用插件体系进入beta版本

1083
来自专栏Ksher

Kubernetes的服务网格(第4部分):通过流量切换持续部署

翻译人:Ksher,该成员来自云+社区翻译社

2938
来自专栏架构师之路

极限优化:php巧用tcp长连接

上一期,和大家分享了YouTube系统架构,本期将和大家分享一个大并发下php使用tcp长连接访问后端的优化方法。 php巧用TCP长连接优化 一、面向人群 如...

3404
来自专栏butterfly100

Chris Richardson微服务翻译:构建微服务之使用API网关

Chris Richardson 微服务系列翻译全7篇链接: 微服务介绍 构建微服务之使用API网关(本文) 构建微服务之微服务架构的进程通讯 微服务架构中的服...

2706
来自专栏24K纯开源

QWebView在 Qt 5.x中编译出错:File not found: main.obj

错误现象        近日由于项目需要,想要学习一下QWebView的使用。于是简单的建立了一个Qt工程,并编写了如下代码: #include <QAppli...

20010
来自专栏Rainbond开源「容器云平台」

使用Java构建微服务

822
来自专栏指路者

CPanel安装教程

2、确定服务器主显IP地址(购买授权时要用的IP,对于LinodeVPS就是你的VPS的IP)

2381

扫码关注云+社区