云平台openstack中,cloudinit装配,使用怎么解决

云平台openstack中,cloudinit装配,使用怎么解决,第1张

云平台openstack中,cloudinit安装、使用

cloudinit是专为云环境中虚拟机的初始化而开发的工具,它从各种数据源读取相关数据并据此对虚拟机进行配置。常见的数据源包括:云平台的metadata服务、ConfigDrive等,常见的配置包括:设定虚拟机的hostname、hosts文件、设定用户名密码、更新apt -get的本地缓存、调整文件系统的大小(注意不是调整分区的大小)等。

本文在openstack下进行测试。

(1)安装

centos 6.4和ubuntu server 12.04的官方源中已经包含cloudinit,直接采用yum 或者 apt -get安装即可

源码地址:https://launchpad.net/cloud-init

(2)配置

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

user: root

disable_root: 0

manage_etc_hosts: True

preserve_hostname: False

cloud_init_modules:

- bootcmd

- resizefs

- set_hostname

- update_hostname

- update_etc_hosts

- ca-certs

- rsyslog

- ssh

cloud_config_modules:

- mounts

- ssh-import-id

- locale

- set-passwords

- grub-dpkg

- landscape

- timezone

- puppet

- chef

- salt-minion

- mcollective

- disable-ec2-metadata

- runcmd

- byobu

cloud_final_modules:

- rightscale_userdata

- scripts-per-once

- scripts-per-boot

- scripts-per-instance

- scripts-user

- keys-to-console

- phone-home

- final-message

配置文件大致分为两部分,开头的变量/参数定义部分、后边要运行的模块列表(包括三大类cloud_init_modules、cloud_config_modules、cloud_final_modules)。

各模块在运行时,会根据之前定义的变量/参数的值,配置虚拟机的状态。

这里举一个简单的例子,update_etc_hosts模块(源文件:/usr/lib/python2.7/dist-packages/cloudinit/CloudConfig/cc_update_etc_hosts.py)

顾名思义,该模块用来设置主机的hosts文件,其中就用到了hostname、fqdn、manage_etc_hosts等变量的值。模块首先尝试从cloudinit的配置文件中读取这些变量的值,如果没有定义,则尝试从其他的数据源中获取变量的值,例如对于openstac来讲,可以从metadata service(http://169.254.169.254/latest/meta-data/hostname)获取虚拟机的主机名。

(3)运行流程

cloudinit会在虚拟机启动的过程中分四个阶段运行,按照时间顺序分为:cloud-init-local, cloud-init, cloud-config, cloud-final,例如对于centos:

cloud-init-local阶段主要是运行本地的一些初始化脚本(缓存下来的脚本??)

cloud-init阶段执行配置文件中名为cloud_init_modules下的所有模块,如果模块列表为空,则什么都不运行。其他两个阶段类似,就不介绍了。

分阶段执行的必要性在于,有些模块的执行对系统当前的状态会有要求(比如网络ready、文件系统挂载over),因此cloudinit抽象出了四个阶段,编写自己的初始化模块时可以根据情况归入不同的阶段。

另外,模块有多种运行模式,包括per-once、per-instance、per-always,对于模式为per-once的模块,一旦运行完毕会在一个名为sem的目录中创建一个信号文件,从而防止模块的在下次启动时重复运行。

肯定要借助专业的数据分析工具来做,全球领先的企业云计算平台百会最近发布了一款全新的sem优化工具——百会搜索赢家。有别市面上的自动竞价调词优化软件,百会搜索赢家是国内首款以销售结果为评估依据的SEM优化工具。也就是说,有别于其他前端优化的SEM工具,百会搜索赢家专注于后端优化,清晰、准确的告诉您投入产出比及帮助您管理好你花钱买来的客户,让企业在搜索引擎上以更低的成本获取更大的收益,实现在搜索引擎上持续有效的回报。由于搜索赢家集成了百会CRM,因此:1、搜索引擎投放之外的其它市场活动效果,也可以用搜索赢家来追踪。2、企业通过搜索引擎投放以外的方式获得的客户,也可以用搜索赢家来管理。现在起访问百会官网可以免费试用百会“搜索赢家”。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/343911.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存