centos cloud init centos ssh

大家好,今天小编来为大家解答centos cloud init这个问题,centos ssh很多人还不知道,现在让我们一起来看看吧!

cloud_init操作

一、安装

centos安装:yum install cloud-init-y

检查是否安装:rpm-qa|grep cloud-init执行以下命令检查cloud-init是否安装

二、修改配置文件

1、修改cloud-init配置:vi/etc/cloud/cloud.cfg

找到cloud-init-modules,将ssh调整到第一行

2、文档最后一行添加以下内容

datasource:

OpenStack:

metadata_urls: [" "]

max_wait:-1

timeout: 10

retries: 5

apply_network_config: True

三、启动cloud-init服务

1、查询cloud-init服务状态:systemctl status cloud-init

2、启动cloud-init服务状态:systemctl start cloud-init

四、配置cloud-init

1、执行命令:cloud-init init--local

五、清除虚拟机配置

1、如虚拟机的上网配置 dns配置

六、关机虚拟机,装换模板

七、修改模板的模板类型为cloudinit镜像

八、在服务器上挂载平台平台的模板库

1、配置管理平台的模板库

mount ip:/vmimage//opt/templatelibrary

df-h

云服务器cloud-init初始化工具的使用与配置

[TOC]

在云平台中,创建云主机的时候希望能够对主机进行一些初始化操作,如配置ip,主机名,密码,ssh登录等。openstack上可以使用cloud-init进行初始化。

OpenStack虚拟机镜像指南

cloud-init原理(执行的整个过程)

Cloud-init的认识和应用

cloud-init是 linux的一个工具,当系统启动时,cloud-init可从 nova metadata服务或者 config drive中获取 metadata,完成包括但不限于下面的定制化工作:

cloud-init官方文档

官方配置参数参考

阿里云官方文档安装cloud-init

前提条件

•准备一台KVM机器,用于制作初始的centos7镜像

•已为Linux云服务器绑定弹性IP。

•已登录Linux云服务器。

• Linux云服务器的网卡属性为DHCP方式。

网卡配置文件为动态IP获取

配置ssh文件

在需要免密码登录的机器上执行下面命令,产生密钥对(controller节点上)

编辑配置文件/etc/cloud/cloud.cfg

用微秒生成随机密码的命令

如果希望能够修改 instance的 hostname(默认 instance每次重启后 cloud-init都会重新将 hostname恢复成初始值),将 cloud_init_modules列表中下面两项删除或注释掉:

(可选配置)在/etc/cloud/cloud.cfg文件中自定义网络配置

在cloud.cfg文件增加该配置之后,cloud-init不会管理/etc/sysconfig/network-scripts/下网络配置,需要自行管理。

建议提前配置好网卡配置文件为dhcp获取,否则在私有云上创建的实例可能会导致获取不到IP地址;原因是cloud-init中的自动配置网卡文件可能会导致mac地址不一致。

(可选配置)设置root用户密码

修改以下配置使得镜像创建的云服务器主机名不带.novalocal后缀且主机名称中可以带点号。

a.执行如下命令,修改 __init__.py文件

执行如下命令进入cloudinit/sources文件夹。

执行以下命令编辑Cloud-Init日志输出路径配置文件,设置日志处理方式handlers

检查Cloud-Init工具相关配置是否成功

执行以下命令,无错误发生,说明Cloud-Init配置成功

设置完成后关闭虚拟机,准备下一阶段生成镜像

如果对接ceph存储。可以把qcow2格式转换为raw格式的镜像再上传

Ceph缺点是不支持从qcow2格式的镜像引导,所以需要转换raw格式的镜像

将镜像上传到openstack的glance节点上(在controller节点上)

在ceph上查看镜像和glance池的数据

创建实例并查看cloud-init配置是否成功

虚拟机镜像需要确保安装了 cloud-init

OpenStack提供了命令行参数--config-drive用于配置是否在创建虚拟机时使用 config drive机制

在/etc/nova/nova.conf中配置,直接使OpenStack计算服务在创建虚拟机时默认使用config drive机制

注意

制作一个本地的yum仓库,更新cloud-init

利用yum命令轻松管理本地RPM包,避免了依赖冲突和网络不稳定时的下载问题。通过--downloadonly参数,可以将指定的RPM包下载至本地,使用--downloaddir参数可指定下载目录,如:

1、先创建本地下载目录

$mkdir-p/data/yum

2、使用yum安装包并仅下载,指定目录

$ yum install-y包名--downloadonly--downloaddir=目录

例如,下载cloud-init至本地:

$yum install-y cloud-init--downloadonly--downloaddir=./

下载完成,执行:

3、生成本地yum仓库

$createrepo./

接着,为本地RPM包创建yum源配置文件:

4、在/etc/yum.repos.d目录下创建配置文件,内容如下

$vim CentOS-BenDi.repo

[Centos-BenDi]

name=centos yum repo

baseurl=

enabled=1

gpgcheck=0

priority=1

如需在局域网内其他主机访问,使用http或ftp形式,例如:

base=http://{当前yum源所在主机的IP}/{RPM软件包目录}

最后,更新本地yum缓存:

5、清理缓存

yum clean all

更新缓存

yum makecache

至此,已成功将cloud-init安装至本地,并配置了本地yum仓库,方便后续管理RPM包。

阅读剩余
THE END