简介

Packstack主要是由Redhat推出的用于概念验证(PoC)环境快速部署的工具。Packstack是一个命令行工具,它使用Python封装了Puppet模块,通过SSH在服务器上部署OpenStack。

Packstack支持三种运行模式:

快速运行

交互式运行

非交互式运行

Packstack支持两种部署架构:

All-in-One,即所有的服务部署到一台服务器上

Multi-Node,即控制节点和计算机分离

因为Redhat官方有详细的使用文档,因此本文将简要介绍Packstack的快速运行以及交互式运行方式来部署All-in-One的Openstack。

名称 要求
处理器 推荐2核以上
内存 推荐4G以上
磁盘 推荐20G以上
网卡 至少一块1G网卡
操作系统 CentOS7

安装centos7

    安装的是centos7.6mini
略过。。 安装简单

安装前的一些准备

  • 修改主机名

    hostnamectl set-hostname stack-controller

  • 替换国内yum源

    替换之前先备份旧配置

    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

    centos各版本的源配置列表

    centos5

    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos5_base.repo

    centos6

    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos6_base.repo

    centos7

    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo

    更新缓存

    yum clean all yum makecache

  • 替换国内pip源(非必要的)

    修改 ~/.pip/pip.conf (没有就创建一个)文件,更新index-url至腾讯云路径,如:

    [global]
    index-url = https://mirrors.cloud.tencent.com/pypi/simple
    trusted-host = mirrors.cloud.tencent.com
  • 推荐去掉网卡个性化信息(非必要)

    在quiet前面加上 *net.ifnames=0 biosdevname=0 *

    vi /etc/default/grub

      GRUB_TIMEOUT=2
    GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
    GRUB_DEFAULT=saved
    GRUB_DISABLE_SUBMENU=true
    GRUB_TERMINAL_OUTPUT="console"
    GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb net.ifnames=0 biosdevname=0 quiet"
    GRUB_DISABLE_RECOVERY="true"

    修改完成后重新生成grub配置文件

    grub2-mkconfig -o /boot/grub2/grub.conf

    修改网卡配置文件(有多块网卡自行设置)

    mv /etc/sysconfig/network-scripts/ifcfg-en* /etc/sysconfig/network-scripts/ifcfg-eth0

    按需修改

    如果遇到eth0 eth1 顺序错乱的情况可以使用udev的规则来手工设置

      

    cat 60-net.rules

    SUBSYSTEM"net", ACTION"add", SYSFS{address}=="你自己的网卡1的mac地址",IMPORT="/lib/udev/rename_device %k eth0"  

      SUBSYSTEM=="net", ACTION=="add", SYSFS{address}=="你自己的网卡2的mac地址",IMPORT="/lib/udev/rename_device %k eth1"

    使用udevinfo 获取网卡物理设备信息  

    `udevinfo -a -p /sys/class/net/eth0`  

    ifconfig 也可以看到设备的mac地址信息  

安装packstack

以上配置都完成后执行以下命令安装packstack
```
$ sudo yum install -y https://www.rdoproject.org/repos/rdo-release.rpm
$ sudo yum update -y
$ sudo yum install -y openstack-packstack
```

packstack支持交互式安装和利用应答文件方式安装。

  • 单节点模式安装

    packstack --allinone

  • 多节点模式安装

    packstack --install-hosts=CONTROLLER_ADDRESS,NODE_ADDRESSES

    这种方式支持利用puppet批量安装。 多个节点使用,分隔即可

我选择使用应答文件手动安装

packstack --gen-answer-file answer.ini

多节点做好免密  

修改应答文件  

42: CONFIG_SWIFT_INSTALL=n

75: CONFIG_NTP_SERVERS=ntp1.aliyun.com

333: CONFIG_KEYSTONE_ADMIN_PW=a

840: CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan

876: CONFIG_NEUTRON_ML2_VXLAN_GROUP=239.1.1.5

910: CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex

921: CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0

936: CONFIG_NEUTRON_OVS_TUNNEL_IF=eth1

1179:CONFIG_PROVISION_DEMO=n

packstack --answer-file=answer.ini

安装额外节点  

vim answer.ini

修改  

CONFIG_COMPUTER_HOST=192.168.1.2,192.168.1.3

CONFIG_NETWORK_HOST=192.168.1.2,192.168.1.3

packstack --answer-file=answer.ini

在centos7上使用packstack安装openstack的更多相关文章

  1. 在CentOS7上通过RPM安装实现LAMP+phpMyAdmin过程全记录

    在CentOS7上通过RPM安装实现LAMP+phpMyAdmin过程全记录 时间:2017年9月20日 一.软件环境: IP:192.168.1.71 Hostname:centos73-2.sur ...

  2. Centos7上HBase的安装和配置

    注意事项 HBase配置必须使用主机名,不支持直接配置IP地址.我尝试过,如果不使用主机名直接用IP,会导致HBase连接zk超时. > 设置主机名 hostnamectl set-hostna ...

  3. CentOS7上Python3.5安装

    CentOS7上Python3.5安装 1.下载 https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz 2.上传到服务器 3. yum in ...

  4. 在centos7上用docker安装宝塔面板

    在centos7上用docker安装宝塔面板   1. [root@web01 ~]# systemctl enable docker 2. [root@web01 ~]# docker pull c ...

  5. centos7上使用yum安装mysql

    centos yum是没有mysql的,集成的是新的Mariadb,怎么用yum的方式在centos7上安装mysql呢? 1. 下载mysql的repo源 wget http://repo.mysq ...

  6. Centos7上docker的安装和基本使用

    Centos7上Docker的相关操作 Docker的安装 1.检查内核版本 docker使用linux的内核必须是3.10以上,首先需要 # uname -r 2.使用yum安装docker # y ...

  7. PJzhang:centos7上LNMP方式安装dvwa漏洞测试环境

    猫宁!!! 参考链接:https://www.jianshu.com/p/5491ce5bfbac https://www.cnblogs.com/wujuntian/p/8183952.html h ...

  8. centos7上keepalived的安装和配置

    1.环境规划1)master:node1,centos7.5,eth0:192.168.1.11,eht1:10.10.1.11,keepalive2)backup:node1,centos7.5,e ...

  9. 国产化设备鲲鹏CentOS7上源码安装Python3.7

    具体编译过成与正常的Python源代码在x86平台上的过程无异,此篇随笔仅当用作复制黏贴的备忘录.不得不说在一个老旧系统上安装一个老旧的Python版本,从头编译一个Python还是一个较为稳健的选择 ...

随机推荐

  1. Session和Cookie的原理

    1.session和cookie的存储 session一般保存在服务端文件中,php.ini中有个配置项--session.save_path='';这个里面填写的路径,将会使session文件保存在 ...

  2. HTML中关于动态创建的标签无法绑定js事件的解决方法:.on()方法的 [.selector]

    在前端页面的时候,会经常遇到用JavaScript动态创建出来的Button按钮或其他标签无法使用点击事件的问题.如下代码,使用jquery在body中动态创建一个class为demo的Button按 ...

  3. 基于语法树和概率的AI模型

    语法树是句子结构的图形表示,它代表了句子的推导结果,有利于理解句子语法结构的层次.简单说,语法树就是按照某一规则进行推导时所形成的树. 有了语法树,我们就可以根据其规则自动生成语句,但是语法树本身是死 ...

  4. (十六)Hibernate中的延迟加载

    一.什么是延迟加载 为了节省Hibernate加载对象的性能节销,在Hibernate中真正需要用到这个对象时,才会发出        SQL语句来抓取这个对象.这一个过程称为延迟加载. 二.延迟加载 ...

  5. vue中使用ts后,父组件获取执行子组件方法报错问题

    一.问题产生背景: 子组件的一个方法: update () { this.$nextTick(() => { this.ul_slots.forEach((ul, cur_slots_index ...

  6. UMI.js开发知识总结

    五分钟掌握最小知识体系 本文阅读时间大概为5分钟,但是能让你了解基于UMI和DVA构建项目的最小知识体系,你可以粗略的浏览一下本文所提到的知识,在后续的讲解中都会多次重复提起,保证学习效率.由于现在前 ...

  7. 解决PHP 7编译安装错误:cannot stat ‘phar.phar’: No such file or directory

    最近因为工作需要要使用PHP 7,所以从网上找教程进行安装, 结果编译没问题, 安装的时候报了错误. 错误如下 1 2 3 cp -pR -f phar.phar /usr/local/php7/bi ...

  8. Flutter——Expanded组件("可伸缩"组件)

    Expanded组件可以结合Row和Column布局组件使用. Expanded组件的常用属性 属性 说明 flex 元素占整个父Row/Column的比例 child 子元素 import 'pac ...

  9. 开发神技能 | Python Mock 的入门

    Mock是什么 Mock这个词在英语中有模拟的这个意思,因此我们可以猜测出这个库的主要功能是模拟一些东西.准确的说,Mock是Python中一个用于支持单元测试的库,它的主要功能是使用mock对象替代 ...

  10. vue-cli3 clone项目后如何安装插件及依赖模块启动项目

    一. 前提条件1.确保使用的是Node 8.11.0+和NPM 3+:2.确保已全局安装vue-clie3:npm install -g @vue/cli: 二.安装依赖 1.在安装依赖之前,先安装官 ...