ZStack实践汇|ZStack云平台应用Linux系统User Data教程

Cloud-init是云环境中虚拟机初始化的标准工具,用于处理元数据和用户数据,实现如设置主机名、密码、安装服务等功能。本文介绍了在ZStack云平台中如何安装和使用Cloud-init,包括Linux系统UserData镜像的封装过程,以及通过UserData自动化安装Apache服务和格式化挂载磁盘的场景示例。

前言

目前大部分公有云、私有云都在使用Cloud-init,已经成为虚拟机元数据管理和OS系统配置初始化的事实标准。最早Cloud-init由Ubuntu的母公司 Canonical 开发,主要思想是当用户首次创建虚拟机时,将前台设置的主机名,密码或者秘钥等存入metadata server(即存放元数据的服务器)。在云平台环境下当Cloud-init随虚拟机启动而运行时,能够获取修改信息并修改主机配置,完成系统的环境初始化。

Cloud-init简介

Cloud-init是专为云环境中虚拟机的初始化而开发的工具,它从各种数据源读取相关数据并据此对虚拟机进行配置,向一台数据服务器获取元数据(meta data)和用户数据(user data),前者是指VM的必要信息,如主机名、网络地址等;后者是系统或用户需要的数据和文件,如用户组信息、启动脚本等。当Cloud-init获取这些信息后,开始使用一些模块对数据进行处理,如新建用户、启动脚本等。常见的配置包括:设定虚拟机的hostname、hosts文件、设定用户名密码、调整文件系统的大小(注意不是调整分区的大小)等。

Cloud-init在ZStack云平台中的实现

Linux系统 User Data镜像封装

一、安装Cloud-init服务——下载并上传Cloud-init的rpm软件包到云主机中

1、在ZStack平台中使用User Data功能,需提前确保Linux云主机镜像已安装Cloud-init,且Cloud-init推荐版本为:0.7.9、17.1。以Cloud-init 0.7.9版本为例,可使用该链接下载相关软件包,如图1所示:
图1 下载完成
图1 下载完成
http://repo.telcobridges.com/centos/7/os/x86_64/Packages/cloud-init-0.7.9-24.el7.centos.x86_64.rpm

2、使用 Xshell 的 FTP 工具或者SecureCRT的SecureFX、WinSCP等工具上传Cloud-init的rpm 包到Linux云主机当中,例如/root目录下,再使用ls命令查看是否上传成功,如图2所示:

在这里插入图片描述

图2 ls命令查看

二、安装并启动Cloud-init服务

1、YUM源基于RPM包管理,能够从指定的服务器自动下载RPM包安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。所以需执行以下命令来安装Cloud-init服务:
yum localinstall cloud-init-0.7.9-24.el7.centos.x86_64.rpm -y

2、Cloud-init服务安装完成过后,需手动启动cloud-init服务;Cloud-init服务启动过后默认会设置开机自启,所以无需再设置开机自启c

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值