实验环境

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. git 打tag(版本)、推送代码

    服务端:192.168.0.96 gitlab 客户端:192.168.0.97 git 服务端gitlab安装请参照: https://www.cnblogs.com/effortsing/p/10 ...

  2. MySQL学习笔记——MySQL启动过程(一)

    首先去官网或者github下载MySQL5.7的源码. 官网地址:https://dev.mysql.com/downloads/mysql/ github地址:https://github.com/ ...

  3. Fiddler抓取Android手机网络数据包

    也许你也有疑问,如果开发没有完备的接口文档,我如何知道他API的信息? 这时我们就得通过一些抓包工具抓取这些API信息. 常见抓包工具 HTTP抓包工具:Fiddler.Charles.Firebug ...

  4. Pyhon时间参数的应用

    Python获取 本周,上周,本月,上月,本季,上季,今年, 去年 # -*- coding: utf-8 -*-# @time: 2019-05-13 17:30 import datetime f ...

  5. 微信小程序,内容组件中兼容的H5组件

    受信任的HTML节点及属性 全局支持class和style属性,不支持id属性. 节点 属性 a   abbr   address   article   aside   b   bdi   bdo ...

  6. 使用mybatis完成增删改查

    插入 插入数据 <insert id="insertUser2" parameterType="UserEntity"> insert into u ...

  7. AJAX一些注释掉的语句

    var sysdept=JSON.parse(localStorage.getItem("loginSysUser")); for(var o in sysdept){ alert ...

  8. 最小轻量级的Istio来了,仅使用流量治理能力

    Istio 1.0.1作为8月份的版本已经发布,主要修复了1.0版本发布以来发现的一些关键Issue.官网的release note(https://istio.io/about/notes/1.0. ...

  9. Stack Overflow是如何做应用缓存的

    首先要说下缓存是什么?缓存,就是在取出数据结果后,暂时将数据存储在某些可以快速存取的位置(例如各种NoSQL如Redis,HBase,又或MemoryCache等等),于是就可以让这些耗时的数据结果多 ...

  10. jquery中checkbox的全选与反选

    <!DOCTYPE html><html><head> <meta charset="utf-8" /> <title> ...