openstack搭建

本文详细介绍了OpenStack云计算平台的搭建步骤,包括环境设计、系统准备、Kolla Ansible部署和各个服务的配置。内容涵盖了硬件需求、软件资源包准备、系统架构设计、网络拓扑、节点配置、服务安装与验证。此外,文章还深入讨论了认证服务,解释了Keystone在权限管理和服务目录中的作用,以及用户、项目、角色的概念与管理。最后,文章提到了基础控制服务,如消息服务RabbitMQ、镜像服务Glance和计算服务Nova的架构与操作。
摘要由CSDN通过智能技术生成

第二章: 环境设计和系统准备

本项目主要帮助读者掌握搭建OpenStack云计算平台的环境设计及系统准备,包括硬件基本需求,OpenStack云计算平台的搭建所需的软件包,部署一个实际的OpenStack云计算平台拓扑结构,并在这个环境下进行系统安装基础工作。

理论:1.项目需求分析
(1)基本概念
需求分析是指理解用户需求,就用户的功能需求与客户达成一致,并需要估计项目风险和评估项目代价,最终形成开发计划的一个复杂过程。在这个过程中,用户是处在主导地位的,需求分析工程师和项目经理要负责整理用户需求,为之后的项目设计打下基础。
从广义上理解:需求分析包括需求的获取、分析、规格说明、变更、验证、管理等一系列需求工程。狭义上理解:需求分析指需求的分析、定义过程。
需求分析阶段结束后应该得到相应的需求分析报告。
(2)分析内容
需要分析的内容可以包含:公司应用需求、技术资金投入与生产效益、行业技术发展趋势,国家政策支持等。
(3)分析过程
需求分析阶段的工作,可以分为4个方面:问题识别、分析与综合、制订规格说明、评审。
(4)分析方法
需求分析的方法有很多。如原型化方法、结构化方法和动态分析法等。
2.系统架构设计
一个项目的系统架构设计一般是由系统架构设计师来负责完成的。对于系统架构设计师来说,其主要职责有如下4条。
(1)确认需求
在项目开发过程中,架构师是在需求规格说明书完成后介入的,需求规格说明书必须得到架构师的认可。架构师需要和分析人员反复交流,以保证自己完整并准确地理解用户需求。
(2)系统分解
依据用户需求,架构师将系统整体分解为更小的子系统和组件,从而形成不同的逻辑层或服务。随后,架构师会确定各层的接口,层与层相互之间的关系。架构师不仅要对整个系统分层,进行“纵向”分解,还要对同一逻辑层分块,进行“横向”分解。
(3)技术选型
通过对系统的一系列的分解,架构师最终形成项目的整体架构。技术选择主要取决于项目架构。
架构师对产品和技术的选型仅仅限于评估,没有决定权,最终的决定权归项目经理。架构师提出的技术方案为项目经理提供了重要的参考信息,项目经理会对项目预算、人力资源和时间进度等实际情况进行权衡,最终进行确认。
(4)制定技术规格说明
在项目开发过程中,架构师是技术权威。他需要协调所有的开发人员,与开发人员一直保持沟通,始终保证开发者依照他的架构意图去实现各项功能。
架构师不仅要保持与开发者的沟通,也需要与项目经理、需求分析员,甚至最终用户保持沟通。所以,对于架构师来讲,不仅有技术方面的要求,还有人际交流方面的要求。
3.环境说明
① 若教学环境有足够的可供学生使用的服务器,则每组分配2台服务器进行练习。
② 若教学环境没有服务器,可使用PC代替,每组分配2台PC进行练习(每台PC支持CPU虚拟化,双网卡,最低4GB内存,最低100GB硬盘)。
③ 若教学环境可供学生使用的服务器数量不够,可将所有服务器组建一个云平台,每组学生分配2台虚拟机进行练习(每台虚拟机配置双网卡,最低4GB内存,最低100GB硬盘)。
要求:准备好OpenStack搭建云计算平台项目所需的软件资源包,按云平台的网络拓扑结构图进行设备准备与网络连接,完成云平台系统安装基础工作。
准备OpenStack搭建云计算平台项目所需的软件资源包。
确定各节点的名称。
配置各节点的IP网络地址。
按要求安装各节点的操作系统。
配置系统环境变量。
在控制节点、网络节点、实例节点和存储节点分别运行脚本,完成各节点的配置安装。
验证安装基础工作。

1: 首先创建两个虚拟机,一台为控制节点,一台为实例节点,
每台虚拟机至少要有20G或以上的硬盘,
并且需要两个网卡,一个nat模式,一个仅主机模式
2 :开机将硬盘分区

3:选择最小化安装,然后开始安装,完毕重启在这里插入图片描述

4:首先将两个网卡配置ip地址,修改之后重启网卡(systemctl restart network)在这里插入图片描述

  节点

主机 主机名 IP规划
实例通信 内部管理
控制
节点 controller 192.168.190.10 192.168.2.10
实例
节点 compute 192.168.190.20 192.168.2.20

控制节点:
(1)ifcfg-eno16777736所需要修改的内容如下在这里插入图片描述

(2)ifcfg-eno33554960所需要修改的内容如下在这里插入图片描述

实例节点:
(1)ifcfg-eno16777736所需要修改的内容如下在这里插入图片描述

(2)ifcfg-eno33554960所需要修改的内容如下在这里插入图片描述

然后连接crt
5配置域名解析(修改主机名)实力节点跟控制节点一样在这里插入图片描述

6:配置防火墙,控制节点与实例节点一样在这里插入图片描述

7:配置selinux,控制节点与实例节点一样,然后重启在这里插入图片描述

8:配置yum源,做之前建议做快照,控制节点与实例节点操作一样在这里插入图片描述

然后清楚yumhuancun,创建新的yum源缓存
9:磁盘分区:给控制节点与实例节点添加一个20G的硬盘,然后分区
使用Fdisk工具去分区,控制节点与实力节点操作一样

[root@control ~]# fdisk /dev/sdb 

  
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xea6a6f15.

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p

Partition number (1-4, default 1): 

First sector (2048-41943039, default 2048): 

Using default value 2048
Last sector, +sectors or +size{
   K,M,G} (2048-41943039, default 41943039): +10G

Partition 1 of type Linux and of size 10 GiB is set

Command (m for help): n

Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
   
Select (default p): 
Using default response p

Partition number (2-4, default 2): 

First sector (20973568-41943039, default 20973568): 
Using default value 20973568

Last sector, +sectors or +size{
   K,M,G} (20973568-41943039, default 41943039): 
Using default value 41943039

Partition 2 of type Linux and of size 10 GiB is set

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

然后格式化分区

[root@control ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1              isize=256    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=2621440, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

[root@control ~]# mkfs.xfs /dev/sdb2
meta-data=/dev/sdb2              isize=256    agcount=4, agsize=655296 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=2621184, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

10:安装软件,只需控制节点配置

yum install -y iaas-xiandian

修改配置
/etc/xiandian/openrc.sh

HOST_IP=192.168.190.192.168.20.10
HOST_NAME_NODE=compute
RABBIT_USER=openstack
RABBIT_PASS=000000
DB_PASS=000000
DOMAIN_NAME=demo
ADMIN_PASS=000000
DEMO_PASS=000000
KEYSTONE_DBPASS=000000
GLANCE_DBPASS=000000
GLANCE_PASS=000000
NOVA_DBPASS=000000
NOVA_PASS=000000
NEUTRON_DBPASS=000000
NEUTRON_PASS=000000
METADATA_SECRET=000000
INTERFACE_NAME=eno33554960(外网网卡名)
CINDER_DBPASS=000000
CINDER_PASS=000000
TROVE_DBPASS=000000
TROVE_PASS=000000
BLOCK_DISK=sda3
SWIFT_PASS=000000
OBJECT_DISK=sda4
STORAGE_LOCAL_NET_IP=192.168.190.10
HEAT_DBPASS=000000
HEAT_PASS=000000
CEILOMETER_DBPASS=000000
CEILOMETER_PASS=000000
AODH_DBPASS=000000
AODH_PASS=000000

11: 控制节点和实例节点都要执行
执行脚本iaas-pre-host.sh进行安装

然后重启设备
12:部署安装平台
(1)在控制节点执行脚本iaas-install-mysql.sh进行数据库及消息列表服务安装

iaas-install-mysql.sh

(2)在控制节点执行脚本iaas-install-keystone.sh进行keystone认证服务安装。

iaas-install-keystone.sh

(3)在控制节点执行脚本iaas-install-glance.sh进行glance镜像服务安装

iaas-install-glance.sh

(4)在控制节点执行脚本iaas-install-nova-controller.sh进行nova计算服务安装。

iaas-install-nova-controller.sh

在实例节点执行脚本iaas-install-nova-compute.sh进行nova计算服务安装

在实例节点执行脚本iaas-install-nova-compute.sh进行nova计算服务安装

(5)在控制节点执行脚本iaas-install-neutron-controller.sh进行neutron网络服务安装

iaas-install-neutron-controller.sh

在实例节点执行脚本iaas-install-neutron -compute.sh进行neutron网络服务安装。

 iaas-install-neutron-compute.sh

(6)在控制节点执行脚本iaas-install-neutron-controller-vlan.sh进行vlan网络安装配置。

iaas-install-neutron-controller-vlan.sh

在实例节点执行脚本iaas-install-neutron-compute-vlan.sh进行vlan网络安装配置

iaas-install-neutron-compute-vlan.sh

(7)在控制节点执行脚本iaas-install-dashboard.sh进行dashboard服务安装。

iaas-install-dshabord.sh

(8)在控制节点执行脚本iaas-install-cinder-controller.sh进行cinder块存储服务安装

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值