• 02_openstack私有云部署


    目录

    一、环境准备

    1、准备服务器

    2、主机名与域名配置

    3、yum仓库配置

    4、配置时间同步

    二、安装Openstack与Nova依赖环境

    1、Nova依赖软件包安装

    2、Openstack依赖软件包安装

    三、搭建私有云

    1、环境检查

    2、配置应答文件answer.ini

    3、检查网络

    四、管理页面登录


    一、环境准备

    1、准备服务器

    4台centos 7.5服务器:

    服务器主机名IP配置备注
    openstack控制节点openstack192.168.2.102C 7G

    关闭selinux

    卸载firewalld

    卸载NetworkManager

    设置network开机自启

    nova计算节点nova1192.168.2.202C 4G

    关闭selinux

    卸载firewalld

    卸载NetworkManager

    设置network开机自启

    nova计算节点nova2192.168.2.302C 4G

    关闭selinux

    卸载firewalld

    卸载NetworkManager

    设置network开机自启

    内网源服务器

    时间同步服务器

    http192.168.2.401C 1G

    关闭selinux

    卸载firewalld

    2、主机名与域名配置

    (3台做主机名解析)

    vim /etc/hosts
    1. 192.168.2.10 openstack
    2. 192.168.2.20 nova1
    3. 192.168.2.30 nova2

    openstack安装时需要使用外部dns来解析域名,3台主机都如下配置:

    vim  /etc/resolv.conf
    1. #把无关项都去掉,search后面得域名后缀都删除,去掉search开头得所有行
    2. nameserver 114.114.114.114

    注意:/etc/resolv.conf里search开头的配置一定要删除干净,不然在后面创建云主机访问控制台的时候会报错,会自动给nova节点配置文件/etc/nova/nova.conf的vncserver_proxyclient_address配置项的主机名后面多加一个.localdomain,会导致nova节点无法ping通该错误域名。

    3、yum仓库配置

    yum镜像下载地址:

    链接:https://pan.baidu.com/s/1OtBp89aHrnF-tKLW9dscdg?pwd=1234 
    提取码:1234 
     

    其中:

    • RHEL7-extras.iso 提供Python依赖软件包
    • RHEL7OSP-10.iso 光盘拥有众多目录,每个目录都是一个软件仓库,我们配置其中2个仓库,openstack主要仓库为rhel-7-server-openstack-10-rpms和rhel-7-server-openstack-10-devtools-rpms 

    此处选择http主机为yum源服务器,将RHEL7-extras.iso和RHEL7OSP-10.iso下载解压到openstack主机,并搭建http源,如果是内网机器,还要加一个系统源,本次实验是外网环境,就不单独搭建系统源了,如果内网环境请自行添加:

    (建议将http源单独找一台服务器,实际部署有试过将http源部署在openstack服务器,在安装openstack的时候有报错,并且导致http无法访问的情况)

    1. #http主机执行
    2. yum install httpd -y
    3. mkdir -p /var/www/html/{extras,openstack}

    将RHEL7-extras.iso内容挂载复制到/var/www/html/extras目录下

    将RHEL7OSP-10.iso内容挂载复制到/var/www/html/openstack目录下

    1. chmod -R 755 /var/www/html/
    2. systemctl enable --now httpd

     ​​​​

    如上可以正常访问,下面开始配置yum源客户端:

    三台主机均如下相同配置:

    vim /etc/yum.repos.d/openstack.repo

    内容如下,添加三个openstack安装源:

    1. [extras]
    2. name=CentOS-$releasever - Extras
    3. baseurl="http://192.168.2.40/extras"
    4. enabled=1
    5. gpgcheck=0
    6. [openstack]
    7. name=CentOS-$releasever - Openstack
    8. baseurl="http://192.168.2.40/openstack/rhel-7-server-openstack-10-rpms"
    9. enabled=1
    10. gpgcheck=0
    11. [openstack-devtools]
    12. name=CentOS-$releasever - Openstack-dev-tools
    13. baseurl="http://192.168.2.40/openstack/rhel-7-server-openstack-10-devtools-rpms"
    14. enabled=1
    15. gpgcheck=0
    1. yum clean all
    2. yum repolist

     源搭建成功。

    4、配置时间同步

    (时间同步服务器建议也是单独找一台服务器,实际部署有试过和openstack共享服务器,在安装openstack的时候有报错,是时间无法同步)

    服务端:

    同样将http主机(192.168.2.40)服务器作为时间服务器,其他主机向该机进行时间同步

    1. #在http服务器执行
    2. yum install chrony -y
    3. vim /etc/chrony.conf
    1. #新增如下内容
    2. bindacqaddress 0.0.0.0
    3. allow 192.168.2.0/24
    1. systemctl restart chronyd
    2. systemctl enable chronyd

    客户端:

    (openstack和nova主机均如下配置):

    1. #在openstack和nova主机配置
    2. yum install chrony -y
    3. vim /etc/chrony.conf
    1. #配置如下内容,将自带server配置都注释或删除,就用下面一个server地址
    2. server 192.168.2.40 iburst
    1. systemctl restart chronyd
    2. systemctl enable chronyd

    检查时间同步状态:

    1. #在nova主机执行
    2. chronyc sources -v

    二、安装Openstack与Nova依赖环境

    1、Nova依赖软件包安装

    在nova1和nova2主机安装Nova相关包:

    qemu-kvm:主包

    libvirt-daemon:libvirt守护进程

    libvirt-daemon-driver-qemu:libvirt启动

    libvirt-client:libvirt客户端

    python-setuptools:python工具包

    openstack启动虚机得过程如下:

    user指令--->openstack--->nova--->libvirtd--->qemu-kvm,其中openstack和nova属于openstack项目,libvirtd和qemu-kvm属于单独得虚拟化平台,所以需要单独安装:

    1. yum install qemu-kvm libvirt-daemon libvirt-daemon-driver-qemu libvirt-client python-setuptools -y
    2. systemctl enable --now libvirtd

    2、Openstack依赖软件包安装

    Openstack安装2个软件包

    • python-setuptools
    • openstack-packstack
    1. #在openstack主机安装
    2. yum install python-setuptools openstack-packstack -y

    三、搭建私有云

    1、环境检查

    • 禁用selinux、卸载firewalld和NetworkManger
    • 主机名必须能够解析
    • 检查配置主机yum源(含系统源、extras源、和openstack相关源)
    • 依赖软件包是否安装(参见上文第二节:安装nova和openstack依赖环境)
    • 检查NTP服务器是否可用
    • 检查/etc/resolv.conf不能有search开头得行

    2、配置应答文件answer.ini

    (在openstack主机操作):

    1. cd /root
    2. packstack --gen-answer-file=answer.ini
    3. ls

     如上会生成一个应答文件。

    修改应答文件:

    vim  /root/answer.ini

    需要修改得内容如下:

    1. #42行:为是否安装swift组件,swift一般在做存储云才用到,这里可不装
    2. CONFIG_SWIFT_INSTALL=n
    3. #45、49、53行:计费相关
    4. CONFIG_CEILOMETER_INSTALL=n
    5. CONFIG_AODH_INSTALL=n
    6. CONFIG_GNOCCHI_INSTALL=n
    7. #75行:时间服务器地址,这里填写NTP时间服务器地址
    8. CONFIG_NTP_SERVERS=192.168.2.40
    9. #95行:默认就是本机IP,不做更改,这个是设置openstack Dashboard管理节点是在哪台机器
    10. CONFIG_CONTROLLER_HOST=192.168.2.10
    11. #98行:nova组件安装IP地址,这里需要给几个nova主机安装nova组件,就填几个IP,这里应该将nova1和nova2的IP都写上,但是后面nova2要做其他实验,这里就安装nova1一个
    12. CONFIG_COMPUTE_HOSTS=192.168.2.20
    13. #102行:在哪个主机安装配置Neutron网络,这里所有主机包含openstack和nova主机都要安装,同样nova2先不装,装openstack和nova1主机
    14. CONFIG_NETWORK_HOSTS=192.168.2.10,192.168.2.20
    15. #330行:用户名,管理员用户名是admin,也可自定义修改
    16. CONFIG_KEYSTONE_ADMIN_USERNAME=admin
    17. #333行:管理员密码,密码默认是随机数,也可自定义修改
    18. CONFIG_KEYSTONE_ADMIN_PW=admin
    19. #840行:支持的网络协议,如果要连互联网,就要支持运营商的flat直连网络
    20. CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan
    21. #910行:ovs网桥名称
    22. CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex
    23. #921行:网桥物理网卡接口,br-ex转发给真实物理网卡ens38,真实物理网卡名需要根据本机实际物理网卡名对于修改
    24. CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:ens38
    25. #1179行:是否需要演示案例,这里设置不,可以减少内存
    26. CONFIG_PROVISION_DEMO=n

    修改好应答文件好,可以使用packstack根据应答文件配置安装openstack和nova,nova节点会被远程安装(通过ssh):

    packstack --answer-file=/root/answer.ini

    执行上面安装后,如果各主机之间没有配置互信,会要求输入各个nova节点主机的密码,按提示输入密码后回车即可,安装过程耗时比较长,需要耐心等待安装。

    如下图所示,如果遇到报错,需要按照提示对于修改,然后再重新执行安装,下图是报ntp时间同步报错,和一个NetworkManager启动,而networking没有启用的警告:

     修正错误后,重新安装:

    如上,安装成功,至此一个openstack的私有云就安装完成。

    3、检查网络

    安装完成后openstack服务会多一个br-ex网络,br-ex和原物理网口模板类型如下:

     如上可以看到eth0物理网卡的设备类型变成ovs,TYPE是ovs的一个端口ovsport,属于下面的br-ex交换机,上面的br-ex图,看到br-ex设备类型是OVS,类型是OVSBridge。

    使用ovs-vsctl命令查看:

    ovs-vsctl show

     可以看到r-ex相当于一个虚拟交换机,而物理网卡ens38是br-ex的一个端口,用户虚机内部网络的向外转发。同样,在nova节点也是相同配置。

    四、管理页面登录

    前面介绍过,openstack服务的Web控制面板是属于Horizon服务,Horizon是一个用于管理、控制OpenStack服务的Web控制面板,也称之为Dashboard仪表盘,可以管理实例、镜像、创建密钥对,对实例添加卷、操作Swift容器等。除此之外,用户还可以在控制面板中使用终端(console)或VNC直接访问实例。

    登录前,本次部署使用的openstack版本需要修改一个httpd服务配置:

    vim /etc/httpd/conf.d/15-horizon_vhost.conf

    新增一行配置:

    WSGIProcessGroup %{GLOBAL}

    systemctl reload httpd

    登录网址:http://192.168.2.10/dashboard

    输入安装时answer.ini应答文件里配置的用户名密码,admin/admin登录:

     在answer.ini同目录下的keystonerc_admin也记录了web管理端的用户名和密码:

    cat /root/keystonerc_admin

     也可以通过该文件,通过命令console登录到openstack后台:

    source /root/keystonerc_admin

  • 相关阅读:
    绕不过的并发编程--synchronized原理
    clickhouse
    关于C语言的一些尘封记忆的唤醒
    SKG、倍轻松“亮红灯”,网红按摩仪难逃“过气命”?
    记录Windows安装Tomcat后无法打印项目日志原因,非catalina日志
    开源python双屏图片浏览器软件
    Spring中@Autowired注解的工作原理
    从“优化”、“向社会输送人才”到“毕业”,互联网的高情商裁员
    基于开源模型搭建实时人脸识别系统(八):优化逻辑
    分享几个常问的vue3面试题!
  • 原文地址:https://blog.csdn.net/qq_28903377/article/details/128118737