• CentOS7.9中使用packstack安装train版本


    材料准备

    1. ecs云服务器8核心16g内存一台,系统盘100GB,系统CentOS7.9
    2. vpc网段:192.168.3.1/24
    3. eip一个,带宽5M以上

    为什么选择packstack

    对openstack兼容性最好,每年给openstack社区提交代码最多的依然是红帽公司。所以做openstack虚拟化,用红帽系列linux系统最合适,华为的openeuler系统兼容CentOS的原因就在此。packstack适合在一台主机上部署全部openstack,只需要一个网口。

    安装

    静态ip

    yum -y update
    systemctl enable network.service --now
    # 禁用NetworkManager
    systemctl disable NetworkManager --now
    
    # 查看网口设备名,默认网卡名称是eth0
    ip a
    
    # 修改为静态ip
    vim /etc/sysconfig/network-scripts/ifcfg-eth0
    ---------------------------------------------------
    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=static
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=eui64
    NAME=eth0
    DEVICE=eth0
    ONBOOT=yes
    IPADDR=192.168.3.11
    PREFIX=24
    GATEWAY=192.168.3.1
    
    # hosts文件
    echo "192.168.0.11 openstack" >> /etc/hosts
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

    系统配置

    # 设置主机名为openstack
    hostnamectl set-hostname openstack
    
    # 生成密钥
    ssh-keygen -t rsa
    
    # 拷贝公钥到本机
    ssh-copy-id root@127.0.0.1
    
    # 关闭防火墙
    systemctl disable firewalld --now
    
    # 关闭selinux
    setenforce 0
    vim /etc/selinux/config
    -----------------------------------------
    SELINUX=disabled
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    使用阿里云yum源

    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
    wget http://mirrors.aliyun.com/repo/Centos-7.repo -O /etc/yum.repos.d/CentOS-Base.repo
    yum clean all
    yum makecache
    yum -y update
    
    # 安装一些包
    yum -y install vim bash-completion yum-utils
    
    # 安装openstack源码包
    yum search openstack
    yum -y install centos-release-openstack-train
    
    # 修改openstack的repo文件地址,把mirrorlist替换成阿里云baseurl
    cp -a /etc/yum.repos.d/CentOS-OpenStack-train.repo /etc/yum.repos.d/CentOS-OpenStack-train.repo.bak
    vim /etc/yum.repos.d/CentOS-OpenStack-train.repo
    -----------------------------------------------------
    # 把[centos-openstack-train]中mirrorlist一行注释掉,然后放开baseurl
    # 修改baseurl如下
    baseurl=http://mirrors.aliyun.com/$contentdir/$releasever/cloud/$basearch/openstack-train/
    
    # 更新缓存
    yum clean all && yum makecache
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    安装packstack

    yum install -y openstack-packstack
    
    • 1

    部署openstack

    一键式部署

    packstack --allinone
    
    • 1

    安装过程中缺少leatherman_curl.so文件需要自行解决

    应答文件式部署

    # 生产部署文件
    packstack --gen-answer-file /root/openstack-answer.ini
    
    # 修改文件中的几个参数
    CONFIG_HEAT_INSTALL=y           #安装heat模板服务
    CONFIG_PROVISION_DEMO=n         #我们不要提供的demo项目
    CONFIG_KEYSTONE_ADMIN_PW=123456  #设置登陆密码
    CONFIG_NEUTRON_OVN_BRIDGE_IFACES=br-ex:eth0 # 设置openstack外网br-ex桥接到哪个网卡
    
    # 最后根据每个服务器上的应答文件部署openstack
    packstack --answer-file /root/openstack-answer.ini
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    安装成功和后续使用

    安装成功后的提示

     **** Installation completed successfully ******
    
    Additional information:
     * Parameter CONFIG_NEUTRON_L2_AGENT: You have chosen OVN Neutron backend. Note that this backend does not support the VPNaaS or FWaaS services. Geneve will be used as the encapsulation method for tenant networks
     * A new answerfile was created in: /root/packstack-answers-20231008-074746.txt
     * 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.0.11. To use the command line tools you need to source the file.
     * To access the OpenStack Dashboard browse to http://192.168.0.11/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/20231008-074746-bd2HY5/openstack-setup.log
     * The generated manifests are available at: /var/tmp/packstack/20231008-074746-bd2HY5/manifests
    You have new mail in /var/spool/mail/root
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    查看宿主机网卡设备

    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 52:54:00:81:f8:5a brd ff:ff:ff:ff:ff:ff
        inet 192.168.0.11/23 brd 192.168.1.255 scope global eth0
           valid_lft forever preferred_lft forever
        inet6 fe80::5054:ff:fe81:f85a/64 scope link 
           valid_lft forever preferred_lft forever
    3: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
        link/ether d6:a8:67:b2:86:c8 brd ff:ff:ff:ff:ff:ff
    4: br-ex: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
        link/ether 0a:55:ae:7a:da:44 brd ff:ff:ff:ff:ff:ff
        inet 172.24.4.1/24 scope global br-ex
           valid_lft forever preferred_lft forever
        inet6 fe80::855:aeff:fe7a:da44/64 scope link 
           valid_lft forever preferred_lft forever
    5: br-int: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
        link/ether ce:72:1e:24:dc:44 brd ff:ff:ff:ff:ff:ff
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    实现虚拟机与外部网络通信

    目前安装的openstack没有连接外网,导致虚拟机ping不通百度。
    打通外网的步骤是设置br-ex网桥,然后在openstack内部重新创建public网络

    # 查看目前的网络设备,可以看到br-ex没有ip
    ip a
    
    # 查看ovs网桥
    ovs-vsctl list-br
    
    # 查看br-ex网桥端口
    ovs-vsctl list-ports br-ex
    
    # 配置ovs网桥br-ex
    cd /etc/sysconfig/network-scripts
    cp ifcfg-eth0  ifcfg-br-ex
    vim ifcfg-br-ex
    --------------------------------------------
    TYPE=OVSBridge
    DEVICETYPE=ovs
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=none
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=br-ex
    DEVICE=br-ex
    ONBOOT=yes
    IPADDR=192.168.3.11
    PREFIX=24
    GATEWAY=192.168.3.1
    DNS1=114.114.114.114
    PEERDNS=no
    
    vim  ifcfg-eth0
    ------------------------------------------
    TYPE=OVSPort
    NAME=eth0
    DEVICE=eth0
    ONBOOT=yes
    DEVICETYPE=ovs
    OVS_BRIDGE=br-ex
    
    # 重启网卡
    systemctl restart network
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46

    可以看到ovs网桥br-ex已经激活并配置ip
    在这里插入图片描述

    用admin重新登录面板,删除现有的router和public网络,重建新的public网络。
    管理员–>网络–>路由,直接删除router1
    在这里插入图片描述
    管理员–>网络–>网络,删除public网络,新建一个新的public网络
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    最后点击创建
    在这里插入图片描述
    重建一个公网路由router-pub
    在这里插入图片描述

    这种连接public网络的路由叫公网网关,不再是普通路由了,给网关创建一个内部接口
    在这里插入图片描述

    最终效果

    网络拓扑如图,两个虚拟机通过router1访问外网
    在这里插入图片描述
    为虚拟机绑定浮动ip
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    虚拟机ping百度成功
    在这里插入图片描述
    all in one 的openstack算是搞定了!packstack这个工具就是专门搞all in one的,这是RDO官网的原话,如果你想要实现一个高可用的openstack生产环境,你可以采用RDO的另一个工具TripleO!这款工具是金融级别的,绝对安全。通过openstack部署openstack。先在一台节点上部署几个简单的openstack组件然后通过这个节点部署一个高可用openstack。最初的这台服务器叫点火节点,就像打火机一样。
    TripleO有云下环境和云上环境,当你的controller节点都挂了,也能通过云下备份恢复你的openstack集群。
    RDO官网:https://www.rdoproject.org/

  • 相关阅读:
    【论文阅读】-- 时间空间化:用于深度分类器训练的可扩展且可靠的时间旅行可视化
    Spring(十三)- Spring 配置类的注解
    普通用户能执行docker命令
    大数据之Java基础(6)
    Spring Boot 之开发注册功能
    自动驾驶感知算法面经(20+)
    c高级 day1
    【技术积累】Python中的PyTorch库【一】
    11设计模式-结构型模式-外观模式
    实战项目:VB实现小鸟快跑小游戏
  • 原文地址:https://blog.csdn.net/qq_43626147/article/details/133633334