简介

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. k8s基础环境搭建

    环境准备 服务器之间时间同步 1. 关闭防火墙 systemctl stop firewalld setenforce 0 2. 设置yum源   三台机器都要设置一个master两个node节点 下 ...

  2. QCache<key,T> 就定义了一个缓存,其类似于map,好处是QCache自动获得被插入对象的所有权,控制所有对象的costs总和(自动管理对象的生存时间。正经数据是不会用到它的,辅助控制才有可能用到它)

    在软件开发中,我们经常需要在内存中存储一些临时数据用于后续相关计算.我们一般把这些数据存储到某个数组里,或者STL中的某个合适的容器中.其实,在Qt中直接为我们提供了一个QCache类专用于这种需求. ...

  3. Session共享问题---理论

    随着网站访问量增加,初期的一台服务器已经完全不能支持业务,这个时候我们就需要增加服务器设备,来抗住请求的增量,如下所示: 负载均衡的目的本来就是要为了平均分配请求,所以没有固定第一次访问和第二次访问的 ...

  4. Pandas进阶之提升运行效率

    前言 如果你现在正在学习数据分析,或者正在从事数据分析行业,肯定会处理一些大数据集.pandas就是这些大数据集的一个很好的处理工具.那么pandas到底是什么呢?官方文档上说: " 快速, ...

  5. VBA if...else语句

    一个if语句由一个布尔表达式和一个或多个语句组成.如果条件评估为True,则执行if条件下的语句.如果条件评估为False,则执行else部分块下的语句. 语法 以下是VBScript中的if els ...

  6. vue跳转本页面报错

    一个按钮绑定一个方法,方法是跳转到某个路由地址,当已经点击触发方法到该路由下的时候,再进行点击该按钮控制台就会报错,不会影响项目运行 解决方法: if(this.$route.path == '/bi ...

  7. PHP程序功能设计

    以留言板为例. 数据表设计 分析数据表结构:有哪些信息需要存储:留言信息:ID,留言标题,留言内容,留言时间,留言人 CREATE TABLE message( id INT UNSIGNED NOT ...

  8. ubuntu下使用libsvm

    matlab上的代码已经八八九九了,因为涉及到GUI和网络编程的东西,所以不得已开始学python并在python上做完整版. 下面是如何在linux和python下使用libsvm 在你的pytho ...

  9. js 跳出for/for in/each/for each 循环

    写本文原因:最近用到了for in,用return true跳出本次循环,执行下次循环, 结果发现程序没有预期效果,经过调试发现误用了return true, 特此笔记,欢迎指正. 注意:return ...

  10. with语句和空语句

    with语句能够为一组语句创建缺省的对象,在一组语句中,任何不指定对象的属性引用都将被认为是缺省对象. 语法如下: with(object){ statements; } <body> & ...