实验环境

CentOS-7-x86_64-Minimal-1708.iso

openstack_N.tar.gz

创建虚拟机

controller部署

computer网络配置

OpenStack环境准备

controller节点和cpmputer节点执行相同过程

关闭/禁用firewalld

[root@controller ~]# systemctl stop firewalld
[root@controller ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

关闭/禁用NetworkManager

[root@controller ~]# systemctl stop NetworkManager
[root@controller ~]# systemctl disable NetworkManager
Removed symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.

禁用SELINUX

[root@controller ~]# cat /etc/selinux/config 

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disable
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted

修改hosts

[root@controller ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
:: localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.80.10 controller controller.cac.com
192.168.80.20 computer computer.cac.com

创建本地yum源

[root@controller yum.repos.d]# cat openstack.repo
[openstack]
name=openstack
enable=
gpgcheck=
baseurl=file:///openstack

OpenStack自动化部署

首先安装自动化软件openstack-packstack,利用openstack-packstack生成应答文件,修改应答文件,再依据应答文件进行安装

yum search centos
yum -y install centos-release-openstack-newton

安装完毕后,会在/etc/yum.repos.d/又生成几个repo文件,我们安装不需要联网,将新生成的repo移入bak

[root@controller yum.repos.d]# ls
bak CentOS-Ceph-Jewel.repo CentOS-OpenStack-newton.repo CentOS-QEMU-EV.repo openstack.repo
[root@controller yum.repos.d]# mv C* bak/
[root@controller yum.repos.d]# ls
bak openstack.repo

安装openstack-packstack

yum -y install openstack-packstack

生成应答文件(只在controller节点执行)

[root@controller yum.repos.d]# packstack --gen-answer-file=openstack.txt
Packstack changed given value to required value /root/.ssh/id_rsa.pub

修改应答文件

首先修改如下选项

CONFIG_DEFAULT_PASSWORD=

CONFIG_SWIFT_INSTALL=n

CONFIG_NAGIOS_INSTALL=n

CONFIG_COMPUTE_HOSTS=192.168.80.20

CONFIG_NETWORK_HOSTS=192.168.80.20

CONFIG_CINDER_VOLUMES_SIZE=1G

CONFIG_PROVISION_DEMO=n

CONFIG_LBAAS_INSTALL=y

CONFIG_NEUTRON_FWAAS=y

CONFIG_NEUTRON_VPNAAS=y

执行grep -vE "^#|^$" openstack.txt发现有很多密码设置,修改密码为111111。

sed -i -r 's/(.+_PW)=.+/\1=111111/' openstack.txt

依据应答文件进行安装

packstack --answer-file=openstack.txt

安装过程中报错

failure: repodata/repomd.xml from centos-ceph-jewel: [Errno ] No more mirrors to try.
http://mirror.centos.org/centos/7/storage/x86_64/ceph-jewel/repodata/repomd.xml: [Errno 14] curl#6 - "Could not resolve host: mirror.centos.org; Unknown error"
++ t
++ exit Please check log file /var/tmp/packstack/--VTSG5d/openstack-setup.log for more information
Additional information:
* Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components.

原因:再computer节点上/etc/yum.repos.d目录下有生产了新的repo文件,将repo移入bak目录,再次安装

安装过程大约20min

tail -f /var/log/messages可以查看安装日志

查看是否安装rabbitmq

rpm -qa | grep rabbitmq-server

查看rabbitmq状态

systemctl status rabbitmq-server

启用rabbitmq管理服务

rabbitmq-plugins list
rabbitmq-plugins enable rabbitmq_management

检查是否启动成功

netstat -antlp | grep 

安装完成

 **** Installation completed successfully ******

Additional information:
* Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components.
* File /root/keystonerc_admin has been created on OpenStack client host 192.168.80.10. To use the command line tools you need to source the file.
* To access the OpenStack Dashboard browse to http://192.168.80.10/dashboard .
Please, find your login credentials stored in the keystonerc_admin in your home directory.
* The installation log file is available at: /var/tmp/packstack/--L2HCU0/openstack-setup.log
* The generated manifests are available at: /var/tmp/packstack/--L2HCU0/manifests

登陆RabbitMQ,dashboard

http://192.168.80.10/dashboard/

http://192.168.80.10:15672

OpenStack环境搭建的更多相关文章

  1. neutron源码分析(一)OpenStack环境搭建

    一.OpenStack安装 安装一个初始化的Mitaka版本的OpenStack环境用于分析,neutron源码 序号 角色 IP地址 版本 1 controller 172.16.15.161 mi ...

  2. openstack 环境搭建

    python单步调试配置(eclipse+pydev+keystone-2014.1.b2),catch捕获异常的时候eclipse里面也会中断的:建议搞个全新的eclipse解压缩副本,专门调试op ...

  3. openstack环境搭建常用命令

    1,编辑/etc/selinux/config文件,关闭selinux SELINUX=disabled 2,清空iptables规则并保存 # iptables -F # service iptab ...

  4. 云计算OpenStack环境搭建(4)

    准备工作: 准备3台机器,确保yum源是可用的,分别为控制节点(192.168.11.3).计算节点(192.168.11.4)和存储节点(192.168.11.5) 控制节点:OpenStack日常 ...

  5. OpenStack-Ocata版+CentOS7.6 云平台环境搭建 — 8.仪表盘 Dashboard(horizon)安装配置

    仪表盘Dashboard(horizon)是一个web接口,使得云平台管理员以及用户可以管理不同的Openstack资源以及服务.这个部署示例使用的是 Apache Web 服务器. 节点配置信息说明 ...

  6. 【OpenStack】OpenStack系列1之OpenStack本地开发环境搭建&&向社区贡献代码

    加入OpenStack社区 https://launchpad.net/,注册用户(597092663@qq.com/Admin@123) 修改个人信息,配置SSH keys.OpenPGP keys ...

  7. 搭建openstack环境时出现的问题

    penstack环境搭建程度(安装完keystone) 然后运行 openstack domain create --description "An Example Domain" ...

  8. kuryr环境搭建

    前言 kuryr是docker和neutron结合的一个项目.docker自1.9之后,支持libnetwork的remote的driver,使得可以通过json rpc调用,为docker提供网络. ...

  9. 《k8s-1.13版本源码分析》-测试环境搭建(k8s-1.13版本单节点环境搭建)

    本文原始地址(gitbook格式):https://farmer-hutao.github.io/k8s-source-code-analysis/prepare/debug-environment. ...

随机推荐

  1. c# 在静态方法里,怎么能得到调用者的类名?

    System.Diagnostics.StackTrace st = new System.Diagnostics.StackTrace(); string name = st.GetFrame(1) ...

  2. 组件文档系统-md-react-styleguidist

    推荐指数:

  3. IE浏览器提示打印控件未安装的一些原因

    打印控件未安装!点击这里执行安装,安装后请刷新页面或重新进入.--该提示是写在LodopFuncs.js里的.相关本博客其他博文:提示“Web打印服务CLodop未安装启动”的各种原因和解决方法.C- ...

  4. Selenium2+python自动化2.7-火狐44版本环境搭建(转)

    转载地址:https://www.cnblogs.com/yoyoketang/p/selenium.html 前言 目前selenium版本已经升级到3.0了,网上的大部分教程是基于2.0写的,所以 ...

  5. php实现文件与16进制相互转换

    php实现文件与16进制相互转换 <pre><?php/** * php 文件与16进制相互转换 * Date: 2017-01-14 * Author: fdipzone * Ve ...

  6. 使用Docker-Compose编排发布.Net Core+Redis应用两个镜像到Docker

    对于刚刚完成的Alipay支的Demo, 我想要把它部署到Docker中去, 下面我来演示相关步骤. 创建配置文件 配置文件的重中之重是Dockerfile, 他的内容如下: # 第一部分是编译并发布 ...

  7. start use webpack

    Demo0操作手册 本Demo演示不使用配置文件的入门级使用 准备环境 初始化环境, cd到demo目录之后, 执行如下命令: npm init -y npm install webpack webp ...

  8. 有助提升编程的几个Python 技巧

    一行代码定义List 定义某种列表时,写For 循环过于麻烦,幸运的是,Python有一种内置的方法可以在一行代码中解决这个问题. 下面是使用For循环创建列表和用一行代码创建列表的对比. x = [ ...

  9. [Xamarin] - "GenerateJavaStubs" 异常之解决

    背景 新建的 Xamarin 项目,编译失败. Error The "GenerateJavaStubs" task failed unexpectedly.Error The s ...

  10. 分布式自增ID算法snowflake

    分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的,作为索引非常不好,严重影响性能. ...