设为首页 - 加入收藏 焦点技术网
热搜:java
当前位置:首页 >

tripleO部署openstack搭建手册

导读:声明:本博客欢迎转载,但请保留原作者信息!作者:姜飞团队:华为杭州OpenStack团队最近在学习tripleo来部署openstack,那么tripleO是什么, 他的主要目标就是使用oepnstack来管理openstack,达到安装、维护、升级的目标。那么,如何来使用tripleo来部署openstack呢。tripleO部署openstack支持的几种角色:controler : open...。。。

声明:

本博客欢迎转载,但请保留原作者信息!

作者:姜飞

团队:华为杭州OpenStack团队


最近在学习tripleo来部署openstack,那么tripleO是什么, 他的主要目标就是使用oepnstack来管理openstack,达到安装、维护、升级的目标。

那么,如何来使用tripleo来部署openstack呢。


tripleO部署openstack支持的几种角色:

controler : openstack的控制节点

computer : openstack的计算节点

Block-storage : opentack的块存储节点

Object-storage : openstack的对象存储节点


环境:

ps:由于物理环境所限,只有一台物理服务器,我就部署一个控制节点。

2285服务器一台 (被管理的物理服务器) 

ESXI 虚拟机 (种子节点,官方说法叫undercloud或者seed)

操作系统:Fedora 20 x86-64


安装步骤:

1、安装种子节点

2、部署种子节点

3、部署openstack节点


安装种子节点:

在ESXI上创建一个虚拟机,选择下载好的fedora的iso文件进行安装。


安装过程这里就不在描述,等系统安装完毕。


部署种子节点

使用root用户登录fedora系统,增加stack用户

useradd stackpasswd stackecho "stack        ALL=(ALL)       NOPASSWD: ALL" > /etc/sudoers.d/stackchmod 0440 /etc/sudoers.d/stack

然后使用stack用户重新登录fedora系统

sudo yum install -y http://rdo.fedorapeople.org/openstack-juno/rdo-release-juno.rpmsudo yum -y install instack-undercloucp /usr/share/instack-undercloud/instack.answers.sample ~/instack.answers   ##修改文件内容再执行下面一个步骤instack-install-undercloud

在执行instack-install-undercloud命令之前需要~/instack.answers文件修改~/instack.answers的文件内容,主要是要修改LOCAL_INTERFACE 这个配置,其他的DHCP的一些配置,还有如果要使用自定义的密码的话,如果不设置,则会调用os-make-password 生成默认密码在 /root/tripleo-undercloud-passwords文件里。



这里修改LOCAL_INTERFACE为ens192,系统上第二个网口,这个网口作为DHCPserver的网口。

执行完instack-install-undercloud的话,会打印出来  instack-install-undercloud complete. 同时也可以查看日志文件:~/.instack/install-undercloud.log

到这里的话,环境上的种子节点的openstack的服务已经起来了。

至此,openstack的种子节点已经启动成功了。

部署openstack节点

首先需要准备部署openstack节点的相关镜像, 可以使用diskimage-build来制作,这里就直接使用fedora提供的几个镜像:

下载地址:https://fedorapeople.org/groups/repos/openstack-m/tripleo-images-rdo-icehouse/

下载好的镜像文件,拷贝到/home/stack目录下

使用stack用户重开一个shell窗口执行如下命令

command $(sudo cat /root/stackrc | xargs)instack-prepare-for-overcloud


创建/home/stack/deploy-overcloudrc文件:



我只部署一个controller节点,所以COMPUTESCALE,BLOCKSTORAGESCALE,SWIFTSTORAGESCALE都为0 。

NeutronPublicInterface 这个网口要填跟刚才设置的ens192在一个网络里面,可以从ens192进行PXE

MACS就是NeutronPublicInterface 这个网卡的mac地址,如果有多个服务器,则以空格隔开。

PM_IPS  PM_USERS PM_PASSWORDS  是物理服务器的BMCIP、用户名和密码, 如果有多个服务器,则以空格隔开。


如果只有1个节点需要部署的话,需要修改如下文件:

sudo vi /usr/bin/instack-deploy-overcloud

for mac in $MACS; do    if [ -n "${PM_IPS:-}" -a -n "${PM_USERS:-}" -a -n "${PM_PASSWORDS:-}" ]; then        JSON=$(jq ".nodes=(.nodes + [{mac:[\"$mac\"], cpu:\"$CPU\", memory:\"$MEM\", disk:\"$DISK\", arch:\"$ARCH\", pm_user:\"$PM_USERS\", pm_addr:\"$PM_IPS\", pm_password:\"$PM_PASSWORDS\"}])" <<< $JSON)    else        JSON=$(jq ".nodes=(.nodes + [{mac:[\"$mac\"], cpu:\"$CPU\", memory:\"$MEM\", disk:\"$DISK\", arch:\"$ARCH\", pm_user:\"$USER\", pm_addr:\"ssh_host\", pm_password:\"ssh_key\"}])" <<< $JSON)    fi    count=$((count + 1))done

将PMUSER[$COUNT] --》PMUSER 去掉Count。


开始部署openstack



这个地方会等待物理服务器PXE完成,部署完成。


等待物理单板PXE 重启:




物理单板已经PXEOK,进入OS  cloud-init



部署成功:


查看虚拟机状态,已经ACTIVE 。



heat-admin登录到物理机,查看物理机的control节点,可以正常工作。


物理机启动时,会调用cloud-init的进行用户数据的初始化,如果发生如下的错误:

1、cloud-init failed, Route info failed

2、/var/lib/heat-cfntools/cfn-userdata  Userdata empty or not executable: [Errno 8] Exec format error 



则执行service cloud-init restart  进行重新初始化。 因为os-refresh-config会不停的进行配置和服务的安装和部署,直到成功。

(编辑: canxinghen)

网友评论
相关文章