我想让测试云启动并运行,准备部署ubuntu 12.04。
如果你想快速启动并运行,请改用:
这个答案更详细地介绍了如何将Juju与OpenStack一起使用。
OpenStack平台强大,使用多样性, 本部分文档主要涉及部署运行OpenStack系统的"标准",使用但不限于Canon,MAJ,Juju和Ubuntu等组件。在适当的地方,将提及其他方法和软件。
在部署任何服务之前,获取可用资源及它使用方式是非常有用的, OpenStack包括许多相关的服务(nova,swift,等),它们在主机方面有不同的需求, 例如,提供对象存储的Swift服务与提供计算资源的Nova服务具有不同的要求。
每个服务和建议的最低要求都在官方 OpenStack操作指南中都列出了。
使用MAAS和Juju部署OpenStack的节点的推荐组合是系统中的所有节点都应该能够运行任何服务。这是系统稳健性的最佳实践,因为任何物理节点都应该在发生故障后,有另一个物理节点重新用来代替它。这显然延伸到任意的硬件要求,如额外的网络接口。
如果由于经济性或者你选择使用不同的硬件配置,你应该会注意到你能够克服硬件故障, 还需要将部署目标定位到特定节点,请参阅MAAS文档中的有关标记部分。
我们将使用Juju的charms来部署OpenStack的组件部分, 每个charm都封装了建立特定服务所需的一切, 但是,各个服务有许多配置选项,其中一些我们想要更改。
为了使此任务更容易和更可重现,我们将创建一个单独的配置文件,其中包含所有服务的相关选项。这是用标准的YAML格式(如果你熟悉,查看 www.yaml.org )为你编写的文档。
下面是一个openstack配置的例子。
keystone:
admin-password: openstack
debug: 'true'
log-level: DEBUG
nova-cloud-controller:
network-manager: 'Neutron'
quantum-security-groups: 'yes'
neutron-external-network: Public_Network
nova-compute:
enable-live-migration: 'True'
migration-auth-type:"none"
virt-type: kvm
#virt-type: lxc
enable-resize: 'True'
quantum-gateway:
ext-port: 'eth1'
plugin: ovs
glance:
ceph-osd-replication-count: 3
cinder:
block-device: None
ceph-osd-replication-count: 3
overwrite:"true"
glance-api-version: 2
ceph:
fsid: a51ce9ea-35cd-4639-9b5e-668625d3c1d8
monitor-secret: AQCk5+dR6NRDMRAAKUd3B8SdAD7jLJ5nbzxXXA==
osd-devices:/dev/sdb
osd-reformat: 'True'
对于所有服务,我们可以配置 openstack-origin
以指向安装源, 在这种情况下,我们将依赖默认值,这将指向14.04相关的发布 , 每个服务的进一步配置在 这个文档中解释 。
365bet皇冠其他设置和配置选项对于部署OpenStack服务是有可能的, 这些都在Juju使用的个人charm的文档中有详细说明,可以通过访问在线Juju charm 商店,并且使用页面左上角的搜索框搜索charm进行检查。然后,在主页面的"配置"下详细设置配置设置,如下所示:
定义了配置之后,我们可以使用Juju来部署和关联服务。
Juju需要最少量的设置。这里我们假设它已经配置为与您的MAAS集群一起使用(有关详细信息,请参阅[Juju安装指南] [juju_install]。
首先,我们需要获取Juju将使用的镜像和工具:
juju sync-tools --debug
然后,我们可以创建Bootstrap实例:
juju bootstrap --upload-tools --debug
我们使用upload-tools开关来使用我们刚刚提取的工具的本地版本。 调试开关将提供详细的输出,这可能很有用。这里过程可能需要几分钟,因为Juju正在创建实例,并且安装工具, 完成后,你可以使用命令检查系统的状态:
juju status
这应该会返回类似的东西:
environment: maas
machines:
"0":
agent-state: started
agent-version: 1.18.1.1
dns-name: localhost
instance-id: localhost
series: trusty
现在Juju引导节点已启动,并且运行,我们可以部署进行OpenStack安装所需的服务。若要在部署这些服务时正确配置这些服务,我们将使用前面定义的配置文件,通过将每个部署命令与--config
开关一起传递, 如果不同,请替换配置文件的名称和路径。
按以下顺序部署服务是有用的,但是,不是必需的, 打开附加的终端窗口,并且高度推荐运行命令 juju debug-log, 这将在运行时输出所有服务的日志,并且对故障排除非常有用。
还建议定期运行 juju status
命令,检查每个服务是否已经安装,并且正确运行, Juju将自动尝试从在线Charm商店获取最佳的Charm版本, 如果你在受限或闭合网络中安装,则可以预先获取所需的魅力 ,
juju deploy --to=0 juju-gui
juju deploy rabbitmq-server
juju deploy mysql
juju deploy --config openstack-config.yaml openstack-dashboard
juju deploy --config openstack-config.yaml keystone
juju deploy --config openstack-config.yaml ceph -n 3
juju deploy --config openstack-config.yaml nova-compute -n 3
juju deploy --config openstack-config.yaml quantum-gateway
juju deploy --config openstack-config.yaml cinder
juju deploy --config openstack-config.yaml nova-cloud-controller
juju deploy --config openstack-config.yaml glance
juju deploy --config openstack-config.yaml ceph-radosgw
尽管服务现在已经部署,但是,它们还没有连接在一起, 每个服务目前都处于隔离状态, 我们使用 juju add-relation
命令让他们知道彼此,并设置任何相关的连接和协议, 这个额外的配置是由Charm自己负责的。
我们应该通过设置Keystone授权服务和它的数据库,开始添加Charm之间的关系,因为这将是许多其他连接所需要的:
juju add-relation keystone mysql
我们一直等到关系被设定, 完成后,使用juju状态检查它:
juju status mysql
juju status keystone
这个服务需要花一些时间才能解决, 尽管可以继续添加关系(juju管理挂起操作的队列),但是,在总体时间上可能会有效,因为许多关系引用相同的服务 。
以下关系也需要做:
juju add-relation nova-cloud-controller mysql
juju add-relation nova-cloud-controller rabbitmq-server
juju add-relation nova-cloud-controller glance
juju add-relation nova-cloud-controller keystone
juju add-relation nova-compute mysql
juju add-relation nova-compute rabbitmq-server
juju add-relation nova-compute glance
juju add-relation nova-compute nova-cloud-controller
juju add-relation glance mysql
juju add-relation glance keystone
juju add-relation cinder keystone
juju add-relation cinder mysql
juju add-relation cinder rabbitmq-server
juju add-relation cinder nova-cloud-controller
juju add-relation openstack-dashboard keystone
juju add-relation swift-proxy swift-storage
juju add-relation swift-proxy keystone
最后,juju状态的输出应该显示所有关系的完整性, OpenStack云现在正在运行,但是,需要在其中填充一些附加组件,然后才能使用 。
部署RDO是一个快速而简单的过程, 设置一个,大约需要15分钟,并且可以少于3个步骤, http://openstack.redhat.com/Quickstart