OpenStack部署stein版本的多节点云平台安装操作步骤

部署stein版本的多节点云平台

一、openstack 概述

openstack 概述 :
OpenStack是一个NASA美国国家航空航天局和Rackspace合作研发的,以Apache许可证授权,并且是一个自由软件和开放源代码项目。
Open 是开放,Stack 则是堆砌之意,合起来就是将众多的功能服务堆积起来的集合,让人们通过Openstack 云计算项目,能够将诸如计算能力、存储、网络和软件等资源抽象成服务,以便让用户可以通过互联网远程来享用,付费的形式也变得因需而定,调整方便,拥有极强的虚拟可扩展性,是公共和私有云的建设与管理软件中的优秀开源项目。

二、openstack 的作用

openstack 的作用
OpenStack是一个云平台管理的项目,它不是一个软件。这个项目由几个主要的组件组合起来完成一些具体的工作。
OpenStack是一个旨在为公共及私有云的建设与管理提供软件的开源项目。它的社区拥有超过130家企业及1350位开发者,这些机构与个人都将OpenStack作为基础设施即服务(简称IaaS)资源的通用前端。

1、IaaS(Infrastructure as a Service),即基础设施即服务
消费者通过Internet 可以从完善的计算机基础设施获得服务。这类服务称为基础设施即服务。基于Internet的服务(如存储和数据库)是 IaaS的一部分。
比如: 在腾讯云上买一台云主机(8个CPU,32G,5T硬盘云主机等)
例: 腾讯云: https://cloud.tencent.com/

2、PaaS是Platform-as-a-Service的缩写,意思是开发平台即服务。 把服务器平台作为一种服务提供的商业模式。
例:OpenShift是红帽的云开发平台即服务(PaaS)。 OpenShift的logo如下:

OpenShift 是自由和开放源码的云计算平台,它可以使开发人员能够创建、测试和运行他们的应用程序,并且可以把它们部署到云中。Openshift 广泛支持多种编程语言和框架,如 Java,Ruby 和 PHP 等。另外它还提供了多种集成开发工具如 Eclipse integration,JBoss Developer Studio 和 Jenkins 等。
OpenShift 基于一个开源生态系统为移动应用,数据库服务等,提供支持。哪些厂商在做 PaaS 平台?
例 2:新浪的 SAE PaaS 云平台,国内:http://www.sinacloud.com/sae.html

PaaS 的 4大特点:

注:Iaas 干了硬件工程师的活 , paas 干了运维的活

3、SaaS 是 Software-as-a-Service(软件即服务)的简称。注:有 SaaS 平台, 不需要运维,不需要开发。
实战场景: 我要 1 天就做一个腾讯课堂的平台。
像: http://www.edusoho.com/ 就是一个典型的 SaaS 平台
总结:
三种云平台架构: IAAS ,PAAS ,SAAS 都是不同的商业模式。

按拥有者分类:
公有云(Public Cloud)、私有云(Private Cloud)、混合云(Hybrid Cloud)按照技术厂商分类:
微软云计算解决方案、亚马逊 AWS、OpenStack 等
注:国内云平台使用 opensctack 二次开发比较多。

4、openstack 版本命名规则
版本发布以 A-Z 字母顺序来发布,很好记。例:
2010 年 10 月 发布‘Austin’
2011 年 2 月 发布‘Bexar’ [地名] [美国] 贝尔;
2011 年 4 月 发布‘Cactus’ [地名] [美国] 卡克特斯;
2011 年 7 月 发布‘Diablo’
2012 年 4 月 发布‘Essex’
2012 年 10 月 发布‘Folsom’
2013 年 4 月 发布‘Grizzly’
2013 年 10 月 发布 Havana
2014 年 4 月 发布‘Icehouse’

https://releases.openstack.org/

查看最新版本 openstack
yum 源:https://repos.fedorapeople.org/repos/openstack/

三、penstack 各组件关系

3.1openstack 核心组成主要有:
核心组件

Keystone(身份认证)、Nova(计算)、Neutron(网络)、Glance(镜像存储)、Cinder(块存储)、Swift(对象存储)
  Horizon(web UI 界面)、Ceilometer(计量)、Heat(部署编排)、Trove(数据库)

下面详细说明:
身份认证(Keystone):统一的授权、认证管理。所有组件都依赖于 Keystone 提供 3A(Account,
Authentication, Authorization)服务。
例 1: 3A 认证
1、认证(Authentication),验证用户的身份与可使用的网络服务;
2、授权(Authorization):依据认证结果开放网络服务给用户;
3、计帐(Accounting):记录用户对各种网络服务的用量,并提供给计费系统。整个系统在网络管理与安全问题中十分有效。
比如:宽带收费就是 3A 认证的典型例子:输入帐号密码(认证)-》开 100M 带宽(授权)-》在营业厅(计帐)

计算管理(Nova):Nova 是 OpenStack 云中的计算组织控制器。Nova 自身并没有提供任何虚拟化能力,相反它使用 libvirt API 来与被支持的虚拟技术 Hypervisors 交互。如:kvm、Xen、VMware等虚拟化技术。
Neutron(网络):实现虚拟机的网络资源管理如网络连接、ip 管理、公网映射
镜像管理(Glance): 主要存储和管理系统镜像。 cento 镜像
块存储(Cinder):为虚拟机提供存储空间。 比如硬盘,分区,目前支持LVM、ip-san、fc-san等。
对象存储(Swift):OpenStack Swift 开源项目提供了弹性可伸缩、高可用的分布式对象存储服务,适合存储大规模非结构化数据。通过key/value的方式实现对文件的存储,现在的云盘就是这样的,和MFS,HDFS类似
注:如果客户需要一个1000T的存储空间,使用Cinder就不行,效率太低。这时就用Swift。
界面(Horizon):安装好后,openstack 的 web 界面控制台 DashBoard
Ceilometer(计量):Ceilometer 是 OpenStack 中的一个子项目,它像一个漏斗一样,能把OpenStack 内部发生的几乎所有的事件都收集起来,然后为计费和监控以及其它服务提供数据支撑。
Ceilometer [sɪ'lɒmɪtə] 云幂测量仪

Heat(部署编排):是一个编排引擎,它可以基于文本文件形式的模板启动多个复合云应用程序(这些文件可以被视为代码)。简单来说,Heat 为 OpenStack 用户提供了一种自动创建云组件(如网络、实例、存储设备等)的方法。
[hɪt]
Trove(数据库):为关系型数据库和非关系型数据库引擎提供可扩展的和可靠的云数据库服务,并继续改进其功能齐全、可扩展的开源框架。
Trove [trəʊv] 宝库

Openstack的网络模式有5种
Local模式:一般测试时使用,只需一台物理机即可。
GRE模式:隧道模式, VLAN数量没有限制,性能有点问题。
Vlan模式:vlan数量有4096的限制
VXlan模式:vlan数量没有限制,性能比GRE好。
Flat模式:管理员创建,租户直接到外网的一种网络模式,不需要NAT。

扩展:VXLAN 概述
VXLAN 是由思科与 VMware 提出的。

LAN 局域网
VLAN 虚拟局域网
VXLAN 虚拟扩展局域网
VXLAN (Virtual Extensible LAN,虚拟扩展局域网) 它是一种在 UDP 中封装 MAC 的简单机制,可以创建跨多个物理 IP 子网的虚拟 2 层子网
比如:通过 vxlan 技术,可以让我们在不同一个局域网中,划分新的虚拟局域网。(有点像 vpn 隧道,但是比 VPN 效率高,VPN 使用 tcp,vxlan 采用 UDP,速度快)

为什么我们需要这种新技术?
现在不只一种标准可以在 IP 中封装 MAC(包括 EtherIP 和 GRE 通道桥接),但是它们都无法做到
VLAN 逻辑标记,因此您只能使用最多 4096 个不同的 VLAN。即使可以使用这些标准来分隔逻辑网,您也必须(在负载中)深入分析 MAC 头信息,以查找出虚拟分片 ID。而 VXLAN 通过一个 24 位分片 ID,在一个数据中心内它能部署百万个虚拟网。
而且,VXLAN 数据包格式很容易在硬件中实现,所以它以后也许可以更紧密地与物理网络设备集成。

何时需要 VXLAN?
在需要大量逻辑网时,才应该考虑使用 VXLAN。如果只有少量逻辑网,那么就还是应该使用经过时间考验的技术,如 VLAN。 你的逻辑网不超过 4096 个,都用 VLAN。

VXLAN硬件产品:H3C S6800数据中心以太网汇聚交换机

H3C S6800系列交换机支持VXLAN (Virtual Extensible LAN,虚拟扩展局域网), VXLAN通过将虚拟机发出的数据包封装在UDP中,并使用物理网络的IP/MAC作为outer-header封装后在物理IP网上传输,到达目的地后由隧道终结点解封并将数据发送给目标虚拟机,解决了地理分散的数据中心之间远距离虚拟机迁移问题。

VLAN 与 VXLAN 之间有何区别:VXLAN 显然更具可扩展性(4,096 个 VLAN 网 vs 1600 万个VXLAN 网)

openstack 项目相关资源获取

http://www.openstack.org 
https://github.com/openstack 
http://docs.openstack.org/ 
http://www.openstack.cn	openstack 中文

四、OpenStack 部署

4.1 部署方法

主要有以下 6 种:

1.社区手册
http://docs.openstack.org
2.RDO https://www.rdoproject.org(http://openstack.redhat.com)
3.RedHat Enterprise Linux OpenStack Platform   (E210 考试)
http://www.redhat.com/en/technologies/linux-platforms/openstack-platform
4.Mirantis(Fuel) https://www.mirantis.com
5.高级定制 Puppet、Chef
6.kolla 基于 docker+ansible 安装 openstack ,把 openstack 每个组件做成 docker 实例

4.2 准备 openstack 多节点实验环境

新创建 3 台虚拟机,分别作为 controller 节点,compute 节点,其中 controller(控制节点)2 张网卡并添加一块硬盘,compute(计算节点)、1 张网卡。
操作系统为必须是 centos7.6 ,可以最小化安装,因为这里提供的离线包是基于 centos7.6 做的。
centos7.5 或 7.4 系统没有办法使用我提供的离线包的。

注:controller 节点也作为安装节点,配置双网卡添加硬盘
image

4.3 实验拓扑图:

image

4.3.1、master1 再添加 1 个网卡:一个仅主机一个桥接,新加一块磁盘 40G或100G(看自己的需要),作为 cinder 的 lvm 后端存储用

2、准备 node1、node2 计算节点只用一个网卡,仅主机模式。内存使用 2G

开启 3 台虚拟机的“虚拟化 VT”功能
注:如果是在虚拟机里装 openstack,希望 VMware 虚拟机中可以启动 KVM 虚拟机,那么你需要开启“虚拟化 Intel VT”功能。因为默认 Nova 计算结点使用 KVM 技术提供云主机。

4.4 部署

4.4.1 集群网络环境初始化

一、配置网卡

1、控制节点,注意 eth1 内网网卡不要设置网关。

[root@master1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
#BOOTPROTO="dhcp"
BOOTPROTO="static"
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="eth1"
DEVICE="eth1"
ONBOOT="yes"

IPADDR=172.16.0.10
NETMASK=255.255.0.0
#GATEWAY=172.16.0.1

注:eth1的默认网关删除
配置 eth0 的NAT网络的 IP,网段和网关根据你自己所在网络环境中的情况,进行修改

[root@master1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
#BOOTPROTO="dhcp"
BOOTPROTO="static"
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="eth0"
#UUID="e8f55d4d-4aab-47fb-9a12-c39f683b2f33"
DEVICE="eth0"
ONBOOT="yes"

IPADDR=192.168.7.10
NETMASK=255.255.255.0
GATEWAY=192.168.7.2
DNS1=114.114.114.114
[root@master1 ~]# systemctl restart network

2、计算节点 node1

[root@node1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
#BOOTPROTO="dhcp"
BOOTPROTO="static"
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="eth1"
#UUID="e8f55d4d-4aab-47fb-9a12-c39f683b2f33"
DEVICE="eth1"
ONBOOT="yes"

IPADDR=172.16.0.20
NETMASK=255.255.0.0
GATEWAY=172.16.0.1
DNS1=114.114.114.114
[root@node1 ~]# systemctl restart network

3、计算节点 node2

[root@node2 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
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="stable-privacy"
NAME="eth1"
DEVICE="eth1"
ONBOOT="yes"
IPADDR=172.16.0.30
NETMASK=255.255.0.0
GATEWAY=172.16.0.1
二、配置主机名

配置 Hostname

[root@master1 ~]# hostnamectl set-hostname master1
[root@node1 ~]# hostnamectl set-hostname node1
[root@node2 ~]# hostnamectl set-hostname node2
三、配置/etc/hosts
[root@master1 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.10 master1 
172.16.0.10 master1 
172.16.0.20 node1
172.16.0.30 node2

拷贝到其他主机

[root@master1 ~]# scp /etc/hosts node1:/etc/
[root@master1 ~]# scp /etc/hosts node2:/etc/

注:hosts 文件中的短主机名,给 rabbitmq 使用的。 rabbitmq 服务会使用短主机域名

四、配置免密登录
[root@master1 ~]# ssh-keygen
[root@master1 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@node1
[root@master1 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@node2
五、配置本地 yum 源

上传 openstack 离线包到控制节点

[root@master1 ~]#  tar xf openstack-stein.tar.gz -C /usr/local/src/ 
[root@master1 ~]# scp -r openstack node1:/usr/local/src/
[root@master1 ~]# scp -r openstack node2:/usr/local/src/

下面配置本地 yum 源(要在所有节点上操作)移除本地 yum 源

[root@master1 ~]# cd /etc/yum.repos.d/  && mkdir bak
[root@master1 ~]# mv * bak/

创建 openstack 离线 yum 源

[root@master1 yum.repos.d]#  cat openstack-stein.repo 
[openstack-stein-packages]
name= stein 
baseurl=file:///usr/local/src/openstack 
gpgcheck=0
enable=1

拷贝至集群中所有的主机

[root@master1 ~]# scp openstack-stein.repo node1:/etc/yum.repos.d/
[root@master1 ~]# scp openstack-stein.repo node2:/etc/yum.repos.d/

配置本地系统光盘镜像源(所有节点操作)

[root@master1 ~]#  mount /dev/cdrom /mnt/ 
[root@node1 ~]#    mount /dev/cdrom /mnt/ 
[root@node2 ~]#    mount /dev/cdrom /mnt/

创建本地 centos 源

[root@master1 yum.repos.d]# cat centos7.repo 
[centos7]
name=centos7 
baseurl=file:///mnt 
enable=1 
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

拷贝至集群中所有的主机

[root@master1 yum.repos.d]# scp centos7.repo node1:/etc/yum.repos.d/
[root@master1 yum.repos.d]# scp centos7.repo node2:/etc/yum.repos.d/

生成 yum 缓存(所有节点操作)

[root@master1 yum.repos.d]#  yum clean all	&&	yum makecache
[root@node1 yum.repos.d]#  yum clean all	&&	yum makecache
[root@node2 yum.repos.d]#  yum clean all	&&	yum makecache
六、使用 openstack-packstack 自动化安装 openstack

1、安装 openstack-packstack

[root@master1 ~ ]# yum -y install openstack-packstack
生成应答文件,自动化安装程序将按照应答文件中的配置进行安装,所以我们需要将应答文件设置为我们预期的配置。
[root@master1 ~ ]# packstack --gen-answer-file=openstack.txt
告警信息忽略即可。没有影响。

image
注:对于参数 CONFIG_NEUTRON_L2_AGENT,NEUTRON 二级代理: 您已经选择了 OVN 中子后端。请注意,此后端不支持 LBaaS、VPNaaS 或 FWaaS 服务。Geneve 将用作租户网络的封装方法

2、配置应答文件扩展:

sed 查找替换时,不加/c ,把查找到的内容,替换成我们指定的内容。加/c,能把 sed 查找到的一行,全部替换成我们指定的 TEXT

修改所有服务的密码(生产环境勿用 123456)

[root@master1 ~]# sed -i -r 's/(.+_PW)=.+/\1=123456/' openstack.txt
替换配置文件中的控制节点 ip 为内网地址,默认是 eth0 桥接地址。 
[root@master1 ~]#  sed -i -r 's/172.16.0.10/192.168.0.10/g' openstack.txt
设置计算节点为 20 和 30
[root@master1 ~]# sed -i '/^CONFIG_COMPUTE_HOSTS=/cCONFIG_COMPUTE_HOSTS=172.16.0.20,172.16.0.30' openstack.txt
SWIFT 是 OpenStack 的对象存储组件,默认是 Y,在生产环境中一般是不装,所以关闭。 
[root@master1 ~]# sed -i '/^CONFIG_SWIFT_INSTALL=/cCONFIG_SWIFT_INSTALL=n' openstack.txt

取消下载 demo 镜像,该镜像由国外站点下载,速度非常慢,而且会导致安装失败。
[root@master1 ~]#  sed -i '/^CONFIG_PROVISION_DEMO=/cCONFIG_PROVISION_DEMO=n' openstack.txt

3、修改 openstack 集群网络配置
OpenvSwitch 是开源 Apache 2.0 的高质量多层次虚拟交换机软件,在某一个虚拟化的环境中,
vSwitch 的主要功能:传递 VM 之间的流量、实现 VM 和外界网络通信。最初的虚拟机之间的隔离使用了 Nova-network,底层采用的是 Linux Bridge 技术,虚拟机网络的组建和配置非常不灵活而且配置无法模块化,扩展非常困难,对于运维来说对错误定位也有一定的难度,OpenvSwitch 就是为了解决以上问题而出现的,支持 QoS、镜像功能和 netflow 功能等。OpenvSwitch 支持 vlan、vxlan 和 gre 等多种隔离方式,同时支持 OpenFlow 协议,在后续的 SDN 技术可以对其管理。
3.1 设置二层网络架构可选项为'linuxbridge', 'openvswitch', 'ovn',但是 openvswitch 目前是主流方式我们选择该配置

[root@master1 ~]# sed -i '/^CONFIG_NEUTRON_L2_AGENT=/cCONFIG_NEUTRON_L2_AGENT=openvswitch' openstack.txt
注:  将 CONFIG_NEUTRON_L2_AGENT=ovn 改为
CONFIG_NEUTRON_L2_AGENT=openvswitch 
这样就解决了上面执行: packstack--gen-answer-file=openstack.txt	报的警告:

注:对于参数 CONFIG_NEUTRON_L2_AGENT,NEUTRON 二级代理: 您已经选择了 OVN 中子后端。请注意,此后端不支持 LBaaS、VPNaaS 或 FWaaS 服务。将 OVN 改为 openvswitch 就可以解决这些问题了。openvswitch 支持这些网络技术。

3.2 设置网络类型驱动的支持类型,openvswitch 支持的类型非常多(flat,vlan,vxlan,geneve)

[root@master1 ~]# sed -i '/^CONFIG_NEUTRON_ML2_TYPE_DRIVERS=/cCONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vlan,vxlan,geneve' openstack.txt 
设置租户网络类型为 vxlan 
[root@master1 ~]# sed -i '/^CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=/cCONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=vxlan' openstack.txt

3.3 设置 flat 二层网络名称,该名称可以自定义,但是后面多个配置需要使用该名称,所以保持默认即可。否则需要手动修改后续所有配置项。

[root@master1 ~]# sed -i '/^CONFIG_NEUTRON_ML2_FLAT_NETWORKS=/cCONFIG_NEUTRON_ML2_FLAT_NETWORKS=datacenter' openstack.txt
将 flat 二层网络和 br-ex 网卡关联。
[root@master1 ~]# sed -i '/^CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=/cCONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=datacenter:br-ex' openstack.txt

3.4 配置网卡桥接,将 br-ex 网卡桥接到 eth0 网卡上。这样集群中的主机就可以上网。

[root@master1 ~]# sed -i '/^CONFIG_NEUTRON_OVS_BRIDGE_IFACES=/cCONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0' openstack.txt

3.5 分配 vlan 标记范围,默认值很小所以手动设置一下 1000-2000 这样就够用了。

[root@master1 ~]# sed -i '/^CONFIG_NEUTRON_ML2_VLAN_RANGES=/cCONFIG_NEUTRON_ML2_VLAN_RANGES=datacenter:1000:2000' openstack.txt
关闭创建卷,我们手工创建即可。 
[root@master1 ~]#  sed -i '/^CONFIG_CINDER_VOLUMES_CREATE=/cCONFIG_CINDER_VOLUMES_CREATE=n' openstack.txt

image
3.6 创建 vg 卷
先lsblk查看一下数据盘是否加载出来,如果没有加载可以使用以下命令扫描磁盘host0,1,2,3可以都扫描一下

echo "- - -" > /sys/class/scsi_host/host0/scan
[root@master1 ~]# vgcreate cinder-volumes /dev/sdb
注: 因为 openstack.txt 中默认的 vg 卷组的名字是 cinder-volumes,所以保持一样
如果没有vgcreate命令则执行yum install -y lvm2 安装一下
[root@master1 ~]# grep cinder-volumes openstack.txt #查看卷组 
CONFIG_CINDER_VOLUME_NAME=cinder-volumes

image

七、开始安装openstack

[root@master1 ~]# packstack --answer-file=openstack.txt
查看部署过程(大约持续 20 分钟)
[root@master1 ~]# tail -f /var/log/messages

报错,缺少leatherman_curl.so,从打印信息看,应该是leatherman rpm包版本问题

# yum list | grep leatherman
leatherman.x86_64                         1.10.0-1.el7                 @epel
leatherman-devel.x86_64                   1.10.0-1.el7                 epel


从打印信息看,应该是leatherman rpm包版本问题
查看当前系统内安装的版本

# yum list | grep leatherman
leatherman.x86_64                         1.10.0-1.el7                 @epel
leatherman-devel.x86_64                   1.10.0-1.el7                 epel

而facter需要1.3.0

# facter -p
facter: error while loading shared libraries: leatherman_curl.so.1.3.0: cannot open shared object file: No such file or directory

所以需要降低版本

yum downgrade leatherman -y 

3个节点安装完后再次执行安装...

[openstack-packages]
name= stein 
baseurl=http://mirrors.163.com/centos/7/cloud/x86_64/openstack-stein/ 
gpgcheck=0
enable=1


这里又开始报错了,缺少swift相关的安装包,这里配置一下OpenStack的源,编辑完后可以执行yum makecache生成一下缓存后
再次执行packstack --answer-file=openstack.txt 安装

看到这个提示表示安装完成,可以使用下面的url进行访问OpenStack的Dashboard页面

5、修改 openstack web 界面配置
任务完成后会提示访问地址,但是这个地址是内网地址,我们需要修改一下 httpd 侦听在 ens38 桥接网卡上,方便你使用物理机上的浏览器来访问 openstack web 界面

[root@master1 ~]# vim   /etc/httpd/conf.d/15-horizon_vhost.conf
改:
31	ServerAlias 192.168.88.63
为:
31	ServerAlias 192.168.1.63 
[root@master1 ~]# systemctl restart httpd

4.5 Web页面访问OpenStack

访问地址:http://192.168.7.10/dashboard
用户名:admin
密码:123456

posted @ 2021-05-24 13:01  记忆流年  阅读(2045)  评论(10编辑  收藏  举报
/* 看板娘 */ /* 粒子吸附*/