• 沒有找到結果。

操作场景

Cloud-Init工具安装完成后,请参考本节操作配置Cloud-Init工具。

前提条件

● 已安装Cloud-Init工具。

● 已为云服务器绑定弹性公网IP。

● 已登录云服务器。

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

配置步骤说明

包含如下两步操作:

1. 配置Cloud-Init工具。

具体操作请参考配置Cloud-Init工具。

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

具体操作请参考检查Cloud-Init工具相关配置是否成功。

配置 Cloud-Init 工具

1. 用户可以根据需要根据用户类型配置登录云服务器的用户权限。使用root帐户登 录,需要开启root用户的ssh权限,并开启密码远程登录。

– 若用户选择注入密码,则通过自己注入的密码进行远程SSH或noVNC登录。

– 若用户选择注入密钥,则通过自己注入的密钥进行远程SSH登录。

执行以下命令,在vi编辑器中打开“/etc/cloud/cloud.cfg”。

vi /etc/cloud/cloud.cfg

2. (可选)在“/etc/cloud/cloud.cfg”中配置“apply_network_config”为

“false”。

对于使用Cloud-Init 18.3及以上版本的用户,需执行本操作。

5-5 配置示例

3. 设置开放root密码远程登录并开启root用户的ssh权限。以CentOS 6.7系列操作系 统为例,配置文件中的“disable_root”字段为“1”表示为禁用,为“0”表示不 lock_passwd: False disable_root: 0 ssh_pwauth: 1

4. 开启机器名更新机制,请勿注释或删除“ - update_hostname”语句。

cloud_init_modules:

- migrator - bootcmd - write-files - growpart - resizefs - set_hostname - update_hostname - update_etc_hosts - rsyslog

- users-groups - ssh

5. 执行以下命令,在vi编辑器中打开“/etc/ssh/sshd_config”。

vi /etc/ssh/sshd_config

6. 将“sshd_config”中的“PasswordAuthentication”的值修改为“yes”。

说明

如果是SUSE和openSUSE操作系统,需要同时配置“sshd_config”文件中的以下两个参数 为“yes”。

● PasswordAuthentication

● ChallengeResponseAuthentication

7. 确保删除镜像模板中已经存在的linux帐户和“/home/linux”目录。

userdel linux rm -fr /home/linux

OpenStack:

metadata_urls: ['http://169.254.169.254']

max_wait: 120 timeout: 5

说明

● max_wait和timeout可由用户自定义是否需要配置,上述回显信息中max_wait和 timeout的取值仅供参考。

● 当操作系统版本低于Debian8、CentOS 5时,不支持配置agent访问OpenStack数据 源。

● CentOS、EulerOS操作系统云服务器必须要禁用默认的zeroconf路由,以便精确访问 OpenStack数据源。

echo "NOZEROCONF=yes" >> /etc/sysconfig/network

9. 在配置文件“/etc/cloud/cloud.cfg”中禁用Cloud-Init接管网络。

当Cloud-Init版本等于或高于0.7.9版本时,在配置文件“/etc/cloud/cloud.cfg”中 增加如下内容,禁用Cloud-Init接管网络。

network:

config: disabled 说明

增加的内容需严格按照yaml格式进行配置。

5-6 禁用 Cloud-Init 接管网络

10. 在配置文件“/etc/cloud/cloud.cfg”中补充如下内容。

manage_etc_hosts: localhost

防止启动云服务器时,系统长时间卡在“Waiting for cloudResetPwdAgent”状 态。

5-7 新增 manage_etc_hosts: localhost

11. 修改配置文件“cloud_init_modules”。

在“cloud_init_modules”中将ssh从最后提前到第一位处理,提高云服务器ssh登 录速度。

5-8 提高云服务器 ssh 登录速度

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

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

vi /usr/lib/python2.7/site-packages/cloudinit/sources/__init__.py 按“i”进入编辑模式,根据关键字toks查询,修改内容如下回显信息所示。

if toks:

toks = str(toks).split('.') else:

toks = ["ip-%s" % lhost.replace(".", "-")]

else:

toks = lhost.split(".novalocal") if len(toks) > 1:

hostname = toks[0]

#domain = '.'.join(toks[1:]) else:

hostname = toks[0]

if fqdn and domain != defdomain:

return "%s.%s" % (hostname, domain) else:

return hostname

修改完成后按“ESC”退出编辑模式,输入:wq!保存并退出。

5-9 修改__init__.py 文件

b. 执行如下命令进入“cloudinit/sources”文件夹。

cd /usr/lib/python2.7/site-packages/cloudinit/sources/

c. 执行如下命令,删除“__init__.pyc”文件和优化编译后的“__init__.pyo”文 件。

rm -rf __init__.pyc rm -rf __init__.pyo

d. 执行如下命令,清理日志信息。

rm -rf /var/lib/cloud/*

rm -rf /var/log/cloud-init*

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

vim /etc/cloud/cloud.cfg.d/05_logging.cfg5-10 配置为 cloudLogHandler

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

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

cloud-init init --local

正确安装的Cloud-Init会显示Cloud-Init的版本详细信息,并且无任何错误信息。例 如,正确安装的情况下,不含有缺少文件的提示信息。

说明

执行如下命令,可将系统用户密码有效期设置为最大。此操作可选。

chage -M 99999 $user_name

其中,user_name为系统用户,例如root帐户。

密码有效期建议设置为99999。