在centos7上使用packstack安装openstack

简介

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

posted @ 2019-05-07 02:55  lvusyy  阅读(1475)  评论(0编辑  收藏  举报