OpenStack部署

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenStack部署相关的知识,希望对你有一定的参考价值。

OpenStack部署


一、主要组件
Horizon:用于管理Openstack各种服务的、基于web的管理接
口;通过图形界面实现创建用户、管理网络、启劢实例等操作。
Keystone:为其他服务提供认证和授权的集中身份管理服务;也提供了集中的目录服务;支持多种身份认证模式,如果密码认证、令牌认证、以及AWS(亚马逊Web服务)登陆;为用户和其他服务提供了SSO认证服务。
Neutron:一种软件定义网络服务;用于创建网络、子网、路由器、管理浮动IP地址;可以实现虚拟交换机、虚拟路由器;可用于在项目中创建×××。
Cinder:为虚拟机管理存储卷的服务;为运行在Nova中的实例提供永久的块存储;可以通过快照迚行数据备份;经常应用在实例存储环境中,如果数据库文件。
Nova:在节点上用于管理虚拟机的服务;Nova是一个分布式的服务,能够不Keystone交互实现认证,不Glance交互实现镜像管理;Nova被设计成在标准硬件上能够迚行水平扩展;启动实例时,如果有需要则下载镜像(托管节点,部署到管理节点外的其他主机)。
Glance:扮演虚拟机镜像注册的角色;允许用户为直接存储拷贝服务器镜像;这些镜像可以用于新建虚拟机的模板。(后端镜像)
二、OpenStack结构图
技术分享图片
三、基础环境准备[前文自动化部署虚拟机(kvm)中已经准备完毕]

1. 禁用 selinux               
2. 卸载 firewalld     
3. 卸载 NetworkManager        
4. 配置主机IP地址             
5. 配置主机yum客户端           
6. 创建cinder-volumes的卷组      
7. 导入公钥(gpgcheck=1  rpm --import ftp://192.168.1.254/CentOS7/RPM-GPG-KEY-CentOS-7)
8. 安装依赖的软件包 

四、部署安装OpenStack
[OpenStack管理节点、Nova节点 配置]
1)yum源配置

[local_repo]
name=CentOS7
baseurl="ftp://192.168.1.254/CentOS7"
enabled=1
gpgcheck=1

[openstack-ext]
name=Packages
baseurl="ftp://192.168.1.254/openstack-ext"
enabled=1   
gpgcheck=0

[rhel-7-server-rhceph-2-osd-rpms]
name=rhel-7-server-rhceph-2-osd-rpms
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-rhceph-2-osd-rpms"
enabled=1
gpgcheck=0

[rhel-7-server-rhceph-2-tools-rpms]
name=rhel-7-server-rhceph-2-tools-rpms
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-rhceph-2-tools-rpms"
enabled=1
gpgcheck=0

[rhel-7-server-rhscon-2-agent-rpms]
name=rhel-7-server-rhscon-2-agent-rpms
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-rhscon-2-agent-rpms"
enabled=1
gpgcheck=0

[rhel-7-server-rhscon-2-installer-rpms]
name=rhel-7-server-rhscon-2-installer-rpms
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-rhscon-2-installer-rpms"
enabled=1
gpgcheck=0

[rhel-7-server-rhscon-2-main-rpms]
name=rhel-7-server-rhscon-2-main-rpms
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-rhscon-2-main-rpms"
enabled=1
gpgcheck=0

[rhel-7-server-rhceph-2-mon-rpms]
name=rhel-7-server-rhceph-2-mon-rpms 
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-rhceph-2-mon-rpms"
enabled=1
gpgcheck=0

[rhel-7-server-openstack-10-tools-rpms]
name=rhel-7-server-openstack-10-tools-rpms 
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-openstack-10-tools-rpms"
enabled=1
gpgcheck=0

[rhel-7-server-openstack-10-rpms]
name=rhel-7-server-openstack-10-rpms
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-openstack-10-rpms"
enabled=1
gpgcheck=0

[rhel-7-server-openstack-10-optools-rpms]
name=rhel-7-server-openstack-10-optools-rpms
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-openstack-10-optools-rpms"
enabled=1
gpgcheck=0

[rhel-7-server-openstack-10-devtools-rpms]
name=rhel-7-server-openstack-10-devtools-rpms
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-openstack-10-devtools-rpms"
enabled=1
gpgcheck=0

配置完成以后 yum repolist 能看到 12 个源及 10,731 个包

2)配置卷组
OpenStack管理节点虚拟机 [8G内存]:

]#pvcreate /dev/vdb
]#vgcreate  cinder-volumes  /dev/vdb

注:OpenStack虚拟机的模板机是minimal安装未安装逻辑卷相关命令,需要利用yum provides vgcreate 查出此命令由哪个软件包提供,并安装。
3)导入公钥
修改yum仓库gpgcheck=1
]#rpm --import ftp://192.168.1.254/CentOS7/RPM-GPG-KEY-CentOS-7
注:此步骤在制作模板机的时候已经操作完成,可忽略。
4)安装额外软件包

]#yum install -y qemu-kvm libvirt-client libvirt-daemon libvirt-daemon-driver-qemu python-setuptools

[ penStack管理节点虚拟机配置 ]
五、安装OpenStack
1)安装openstack

]# yum install -y openstack-packstack
]#packstack --gen-answer-file answer.ini*

2)修改应答文件

配置默认密码:
11:  CONFIG_DEFAULT_PASSWORD=Taren1
设置禁用 swift (对象存储) 模块:
42:  CONFIG_SWIFT_INSTALL=n
NTP 服务器地址:
75:  CONFIG_NTP_SERVERS=192.168.1.254
计算节点IP地址:
98:  CONFIG_COMPUTE_HOSTS=192.168.1.19
需要配置vxlan网络的 IP 地址:
102: CONFIG_NETWORK_HOSTS=192.168.1.19
禁用自动创建 cinder-volumns 卷组:
554: CONFIG_CINDER_VOLUMES_CREATE=n
设置网络支持协议:
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
禁用测试的DEMO:
1179:CONFIG_PROVISION_DEMO=n

保存配置文件,安装 openstack

]#packstack --answer-file=answer.ini

六、网络配置(安装配置自动生成)
1)多计算节点拓扑
技术分享图片
2)配置br-ex为外部OVS网桥

]# cat /etc/sysconfig/network-scripts/ifcfg-br-ex
ONBOOT="yes"
NM_CONTROLLED="no"
IPADDR="192.168.1.66"
PREFIX="24"
GATEWAY="192.168.1.254"
DEVICE=br-ex
NAME=br-ex
DEVICETYPE=ovs
OVSBOOTPROTO="static"
TYPE=OVSBridge

3) 配置eth0为外部OVS网桥的端口

]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
NAME=eth0
DEVICETYPE=ovs
TYPE=OVSPort
OVS_BRIDGE=br-ex
ONBOOT=yes
BOOTPROTO=none

4) 验证OVS配置

[1].ovs-vsctl show 
[2].ip -o addr show
]# ovs-vsctl  show
Bridge br-ex
    Controller "tcp:127.0.0.1:6633"
        is_connected: true
    fail_mode: secure
    … …
    Port br-ex
        Interface br-ex
            type: internal
        Port "eth0"
            Interface "eth0"

七、Horizon BUG 处理
horizon 软件配置 bug

修改 /etc/httpd/conf.d/15-horizon_vhost.conf
      ServerAliaslocalhost
      WSGIDaemonProcessapache group=apache processes=3 threads=10 user=apache
      WSGIProcessGroupapache
36: WSGIApplicationGroup %{GLOBAL}     第36行添加

八、重新加载配置文件,网页测试
重新载入配置文件:

]#apachectl graceful        

查看用户名密码:

]#  cat keystonerc_admin 

利用浏览器输入http://192.168.1.202登陆管理界面

                                                            未完待续……

以上是关于OpenStack部署的主要内容,如果未能解决你的问题,请参考以下文章

openstack安装部署

openstack安装部署

openstack 装逼之路~keystone部署

Centos8部署Openstack(U版本)

Kolla部署Pike版本的OpenStack-allinone云平台

Openstack概述 、 部署安装环境 、 部署Openstack 、 Openstack操作基础