文档章节

Openstack文件和元数据注入

Inchin
 Inchin
发布于 2015/01/21 13:34
字数 564
阅读 2407
收藏 2

openstack在创建实例的时候可以将文件注入到实例中,也可以传一些参数到实例,这在有些情况下会非常有用,比如修改root密码,注入ssh密钥,对实例的个性化定制(后面会举例子) Note: 只有注入文件失败才会使创建实例过程失败 对注入的支持可以有loop, guestfs, nbd, mount等,其中 mount 不安全。缺省使用: img_handlers=”loop,nbd,guestfs” 对于nbd,在ubuntu下只需要加载内核模块(modprobe nbd)和安装qemu-nbd 在centos下就比较麻烦了,需要手工编译 nbd 和 qemu-nbd Guestfs方法比较简单,只需要安装正确的包就可以,ubuntu下安装guestmount, centos需要安装libguestfs和fuse

本文档是以nova命令行的方式,图形对有些参数的支持还没有

使用nova命令需要设置以下参数

export OS_USERNAME=user

export OS_PASSWORD=pass

export OS_TENANT_NAME='tenant'

export OS_AUTH_URL=http://localhost:5000/v2.0

  1. 注入ssh密钥

a) 创建密钥(ssh-keygen)

b) 添加密钥对

i. nova keypair-add --pub_key .ssh/id_rsa.pub mykey

c) 创建实例的时候注入密钥

i. nova boot --key_name mykey --image id_of_image --flavor 1 name_of_instance

Note: id_of_image可以通过nova image-list取得

  1. 注入文件

假如我要注入.vimrc这个文件到新创建的实例中,可以:

nova boot --file /root/.vimrc=/root/.vimrc --image id_of_image --flavor 1 name_of_instance

Note: 可以注入多个文件(最多5个),只要写多个--file <dst-path=src-path>

  1. 注入元数据

可以通过--meta给实例中传入键值对,注入后会写在/meta.js文件里,以类似python字典的方式存储在虚拟机的/meta.js文件中

nova boot --meta key2=value2 --meta key1=value1 --image id_of_image --flavor 1 name_of_instance

Cat /meta.js # 虚拟机中

{"key2": "value2", "key1": "value1"}

  1. 示例:

假如我们想让新创建的实例运行一个初始化脚本,但这个脚本会根据不用的需求有所变化,我们可以这样做

在创建镜像模板的时候在/etc/rc.local中加入

/opt/init.py

Init.py可以读取注入的元数据(meta.js)比如

{"url": "http://example.com/init.sh"}

得到初始化脚本的地址,下载下来并执行,这样的好处是对不同的需要可以有多个初始化文件,而不用修改模板

本文转载自:

共有 人打赏支持
Inchin
粉丝 0
博文 32
码字总数 8499
作品 0
长沙
技术主管
译:块设备和 OpenStack

libvirt 配置了 librbd 的 QEMU 接口,通过它可以在 OpenStack 中使用 Ceph 块设备镜像。Ceph 块设备镜像被当作集群对象,这意味着它比独立的服务器有更好的性能。 在 OpenStack 中使用 Ceph...

Jerry_Baby
2015/02/09
0
0
使用Ceph作为OpenStack的后端存储

概述 libvirt配置了librbd的QEMU接口,通过它可以在OpenStack中使用Ceph块存储。Ceph块存储是集群对象,这意味着它比独立的服务器有更好的性能。 在OpenStack中使用Ceph块设备,必须首先安装...

Jerry_Baby
2015/02/09
0
3
Openstack 之 使用disk-image-builder(DIB)制作镜像

上面左边是我的个人微信,如需进一步沟通,请加微信。 右边是我的公众号“Openstack私有云”,如有兴趣,请关注。 Openstack中的centos和ubuntu操作系统的镜像可以直接从社区直接下载下来使用...

余伟兵
06/28
0
0
OpenStack是什么,OpenStack详解

1. OpenStack是什么 OpenStack官方的解释很官方,而且从不同角度,也有不同的理解,OpenStack可以理解为一个云操作系统 OpenStack旗下包含了一组由社区维护的开源项目,他们分别是OpenStack...

yaohong
2017/08/01
0
0
OpenStack centos版安装(二)

在OpenStack第一天文档翻译后,丁丁努力坚持每晚抽时间翻译OpenStack官方网站提供的安装与部署指南,本文翻译自官方安装与部署指南的前四章内容,前四章内容主要是对OpenStack整体安装步骤以...

蓝狐乐队
2014/04/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

[雪峰磁针石博客]python3快速入门教程1 turtle绘图-2函数

菲波那契序列: >>> # Fibonacci series:... # the sum of two elements defines the next... a, b = 0, 1>>> while b < 10:... print(b)... a, b = b, a+b...112......

python测试开发人工智能安全
今天
0
0
java环境变量配置最正确的方式

原贴:https://blog.csdn.net/qq_40007997/article/details/79784711,十分详细,亲测有效

kitty1116
今天
0
0
49.Nginx防盗链 访问控制 解析php相关 代理服务器

12.13 Nginx防盗链 12.14 Nginx访问控制 12.15 Nginx解析php相关配置(502的问题) 12.16 Nginx代理 扩展 502问题汇总 http://ask.apelearn.com/question/9109 location优先级 http://blog....

王鑫linux
今天
1
0
Nginx防盗链、访问控制、解析php相关配置、Nginx代理

一、Nginx防盗链 1. 编辑虚拟主机配置文件 vim /usr/local/nginx/conf/vhost/test.com.conf 2. 在配置文件中添加如下的内容 { expires 7d; valid_referers none blocked server_names *.tes......

芬野de博客
今天
0
0
spring EL 和资源调用

资源调用 import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.PropertySource;import org.springframework.core.io.Resource;......

Canaan_
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部