OpenStack的简单部署

这篇具有很好参考价值的文章主要介绍了OpenStack的简单部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

OpenStack的简单部署

一、OpenStack概述

OpenStack是由Rackspace和NASA共同研发的云计算平台,是一个旨在为公共及私有云的建设与管理提供软件的开源项目(它是一个云平台管理的项目,而不是一个软件)。其通过仪表盘为管理员提供计算、存储和网络资源的管理控制,同时通过Web界面为用户提供资源。这个项目由几个主要的组件组合起来完成一些具体的工作。

核心组件及如下图所示:

openstack部署流程,学习笔记,大数据和云计算,openstack,云计算,Linux,分布式openstack部署流程,学习笔记,大数据和云计算,openstack,云计算,Linux,分布式openstack部署流程,学习笔记,大数据和云计算,openstack,云计算,Linux,分布式

详细说明如下:

1、计算(Compute): Nova。一套控制器,用于为单个用户或使用群组管理虚拟机实例的整个生命周期,根据用户需求来提供虚拟服务。负责虚拟机创建、开机、关机、挂起、暂停、调整、迁移、重启、销毁等操作,配置CPU、内存等信息规格。自Austin版本集成到项目中。
2、对象存储(Object Storage): Swift。一套用于在大规模可扩展系统中通过内置冗余及高容错机制实现对象存储的系统,允许进行存储或者检索文件。可为Glance提供镜像存储,为Cinder提供卷备份服务。自Austin版本集成到项目中。
3、镜像服务(Image Service): Glance。一套虚拟机镜像查找及检索系统,支持多种虚拟机镜像格式(AKI、AMI、ARI、ISO、QCOW2、Raw、VDI、VHD、VMDK),有创建上传镜像、删除镜像、编辑镜像基本信息的功能。自Bexar版本集成到项目中。
4、身份服务(Identity Service): Keystone。为OpenStack其他服务提供身份验证、服务规则和服务令牌的功能,管理Domains、Projects、Users、Groups、Roles。自Essex版本集成到项目中。
5、网络&地址管理(Network): Neutron。提供云计算的网络虚拟化技术,为OpenStack其他服务提供网络连接服务。为用户提供接口,可以定义Network、Subnet、Router,配置DHCP、DNS、负载均衡、L3服务,网络支持GRE、VLAN。插件架构支持许多主流的网络厂家和技术,如OpenvSwitch。自Folsom版本集成到项目中。
6、块存储 (Block Storage): Cinder。为运行实例提供稳定的数据块存储服务,它的插件驱动架构有利于块设备的创建和管理,如创建卷、删除卷,在实例上挂载和卸载卷。自Folsom版本集成到项目中。
7、UI 界面 (Dashboard): Horizon。OpenStack中各种服务的Web管理门户,用于简化用户对服务的操作,例如:启动实例、分配IP地址、配置访问控制等。自Essex版本集成到项目中。
其它:Ceilometer(计量)、Heat(部署编排)、Trove(数据库)

openstack部署流程,学习笔记,大数据和云计算,openstack,云计算,Linux,分布式

该图展示了各组件的作用以及各组件之间的关系,也是OpenStack各个服务之间APT调用的概览,其中实线表示客户端的API调周用,虚线表示各个组件之间通过rpc进行通信。

openstack部署流程,学习笔记,大数据和云计算,openstack,云计算,Linux,分布式

认证组件与其它组件都有交互,主要是为他们提供身份验证服务。计算组件Nova与其他几个服务也有一些接口:它使用Keystone来执行身份验证,使用界面展示服务Horizon作为其管理接口,并用Glance提供其镜像。

其余的理论内容暂不展开赘述.

参考:

中国大学MOOC 河海大学-云计算技术与应用

OpenStack官方文档

二、环境准备

  1. VMware17虚拟机环境 https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html

  2. Centos7.9镜像 https://mirror.tuna.tsinghua.edu.cn/centos/7.9.2009/isos/x86_64/

  3. Xshell7&Xftp7远程连接工具 https://www.xshell.com/zh/free-for-home-school/

  4. 开启虚拟化功能的Windows 10,查看方式如下

openstack部署流程,学习笔记,大数据和云计算,openstack,云计算,Linux,分布式

其实大部分人是不需要管这一步骤的,因为大部分电脑都是已经启用了的,但是很多blog文章提到了,那么我也在这弄一个参考.如果未启用的可百度一下如何启用.

然后新建一台虚拟机,最小化安装就行。至于配置嘛,根据看自己电脑情况来,我这里是2核2线程,然后分配了8G的运行内存,50G的内存。

openstack部署流程,学习笔记,大数据和云计算,openstack,云计算,Linux,分布式

记得把Intel VT-x/EPT和AMD-V/RVI(V) 虚拟化引擎勾选上,如果报错再取消勾选.

关于 VMware的虚拟化引擎 Intel VT-x/EPT和AMD-V/RVI(V) 也简单记录一下:

  • Intel VT-X技术实现的功能是减少虚拟机运行时虚拟机和物理机得到双重系统调用所产生的高Context Switch。也就是说,虚拟机的进程在要先从虚拟机ring3转到ring0,再从物理机的ring3转到ring0,性能有很大损失,而Intel VT-X就是为了解决这一问题而产生的技术。
  • Intel RPT技术则是为了解决虚拟机的虚拟内存映射问题。虚拟机的虚拟内存要映射到虚拟机的物理内存上面,而虚拟机的物理内存相当于物理机的虚拟内存,物理机的虚拟内存也是要映射到物理机的物理内存上面的,所以这双重转换会造成很大的资源消耗,RPT技术就是减小这个消耗的。
  • AMD实现的功能和Intel的功能类似

关于vmware的详细使用配置:https://www.gaojipro.com/a/18085

关于虚拟化引擎的选项: http://t.zoukankan.com/zknublx-p-9156560.html

三、搭建流程

1. 安装虚拟机

CentOS7 使用最小化安装,也就是使用待有Minimal字样的镜像文件,安装界面先更改网卡名称

openstack部署流程,学习笔记,大数据和云计算,openstack,云计算,Linux,分布式

 net.ifnames=0 biosdevname=0

输入上面内容后再回车,目的是将网卡名称改为Eth0,记得和quiet之间有空格.

安装前开启网络并且选择最小安装:

openstack部署流程,学习笔记,大数据和云计算,openstack,云计算,Linux,分布式

安装完成之后打开虚拟机


2. 配置网路

查看VMware网络配置
openstack部署流程,学习笔记,大数据和云计算,openstack,云计算,Linux,分布式

设置静态ip

vi /etc/sysconfig/network-scripts/ifcfg-eth0  # 打开网卡配置文件
# 修改
BOOTPROTO="static"	     #设为静态IP
ONBOOT="yes"			 #设置开机自启动

# 添加
IPADDR="192.168.153.130" #子网IP,建议和开机时也就是ip addr看到的设置相同
GATEWAY="192.168.153.2"  #默认网关,一定和vmware的网关ip一样,见上图
NETMASK="255.255.255.0"  #子网掩码,自己设置和虚拟机NAT网卡的子网掩码一样
DNS1="223.6.6.6"		 #阿里云DNS
DNS2="114.114.114.114"   #腾讯114
DNS3="1.2.4.8"           #中国互联网络中心

如下图所示:

openstack部署流程,学习笔记,大数据和云计算,openstack,云计算,Linux,分布式

重启网络

service network restart 	 #重启网卡
systemctl restart network    # 重启网络服务

可以用以下命令查看是否配置正确

ping www.baidu.com -c 3
3. 修改主机名
hostnamectl set-hostname openstack.alione.local && exec bash
4. 配置hosts解析
vi /etc/hosts # 打卡配置文件

添加以下内容

192.168.153.130 openstack openstack.alione.local

openstack部署流程,学习笔记,大数据和云计算,openstack,云计算,Linux,分布式

5. 配置本机免密连接

生成密钥

ssh-keygen -t rsa  # 回车四次

对本机进行免密

ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.153.130
6. 关闭防火墙、selinux策略以及NetworkManager
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config; 
setenforce 0; 
systemctl stop firewalld; 
systemctl disable firewalld;
systemctl stop NetworkManager; 
systemctl disable NetworkManager
7. 修改yun源

1.下载阿里源
方法一: curl下载(此处若下载失败可以先重启并检查第二步网络配置后重试)

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

如果这里失败的话可以尝试下面的方法
方法二:wget下载

yum install -y wget # 安装wget下载器
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

2.清空并加载缓存yum源

yum clean all && yum makecache

阿里源 https://developer.aliyun.com/mirror/centos

8. 安装基本工具
yum install -y bash-completion vim telnet bridge-utils yum-utils && bash
9. 系统升级
yum -y update

reboot

如需删除多余内核

yum remove $(rpm -qa | grep kernel | grep -v $(uname -r)) -y 
10. 安装OpenStack的yum仓库
yum install centos-release-openstack-train -y

如需查看可安装版本

yum list | grep openstack*
11. 修改openstack仓库repo文件

因为对网络需求大,当出现网络波动时会导致报错,最好修改为国内源进行部署

cd /etc/yum.repos.d # 切换目录
cp CentOS-OpenStack-train.repo{,.bak} #备份配置
vim CentOS-OpenStack-train.repo # 打开配置文件

更改按照以下内容进行更改

openstack部署流程,学习笔记,大数据和云计算,openstack,云计算,Linux,分布式

baseurl=http://mirrors.aliyun.com/$contentdir/$releasever/cloud/$basearch/openstack-train/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=cloud-openstack-train

重建yum缓存

yum clean all && yum makecache
12. 安装packstack工具
cd ~ # 先回到根目录
yum install -y openstack-packstack

再次确认以下内容:

ping www.baidu.com -c3 
hostname
cat /etc/hosts
getenforce
systemctl status firewalld.service
systemctl status NetworkManager

全部正确如下所示:
openstack部署流程,学习笔记,大数据和云计算,openstack,云计算,Linux,分布式

13. 在线部署
packstack --allinone

可新建一个终端查看安装过程信息

tail -f /var/log/messages

此处时间可能比较长,出现 [ \ ] 就等一会儿看,出现错误就解决错误 (建议重装虚拟机吧),安装错误解决可以参考后文(实际上可能没什么实质性帮助)

出现类似下面这个就说明安装成功了

openstack部署流程,学习笔记,大数据和云计算,openstack,云计算,Linux,分布式

四、OpenStack的简单使用

这里就强调"简单"二字!

1. 查看用户信息并登陆
cat ~/keystonerc_admin

openstack部署流程,学习笔记,大数据和云计算,openstack,云计算,Linux,分布式

打开浏览器访问:
openstack部署流程,学习笔记,大数据和云计算,openstack,云计算,Linux,分布式

登入后内容如下:
openstack部署流程,学习笔记,大数据和云计算,openstack,云计算,Linux,分布式

2. 向OpenStack上传镜像

在原本的openstack中只有一个镜像

openstack部署流程,学习笔记,大数据和云计算,openstack,云计算,Linux,分布式

首先将任意一个镜像上传至虚拟机(上传方法很多很多,可以使用scp命令也可以用Xftp,我这里将CentOS-7-x86_64-Minimal-2207-02.iso上传至虚拟机

openstack部署流程,学习笔记,大数据和云计算,openstack,云计算,Linux,分布式

openstack部署流程,学习笔记,大数据和云计算,openstack,云计算,Linux,分布式

可以看到已经在虚拟机中了。然后我们使用如下指令将其上传到open stack当中

openstack image create "CentOS7" --file CentOS-7-x86_64-Minimal-2207-02.iso --disk-format qcow2 --container-format bare --public

重新刷新网页查看刚刚上传的镜像

openstack部署流程,学习笔记,大数据和云计算,openstack,云计算,Linux,分布式


五、一些安装错误

希望你不需要看这些内容

1. ERROR : Failed to run remote script, stdout:

报错信息如下:

Pre installing Puppet and discovering hosts' details[ ERROR ]
ERROR : Failed to run remote script, stdout: 
stderr: Warning: Permanently added '192.168.242.134' (ECDSA) to the list of known hosts.
+ trap t ERR
+ facter -p
facter: error while loading shared libraries: leatherman_curl.so.1.3.0: cannot open shared object file: No such file or directory

根据提示看了一下日志:/var/tmp/packstack/20221210-215006-NfsKcI/openstack-setup.log .

发现错误:leatherman rpm 包版本问题,已经安装版本是1.10.0-1而facter需要1.3.0

回退leatherman版本

yum downgrade leather

问题解决。

解决参考:Packstack安装OpenStack问题:facter: error while loading shared libraries: leatherman_curl.so.1.3.0

2. ERROR : Error appeared during Puppet run: 192.168.242.134_controller.pp
Error: Execution of '/usr/bin/yum -d 0 -e 0 -y install openstack-keystone' returned 1: Error: Package: python2-qpid-proton-0.26.0-2.el7.x86_64 (centos-openstack-train)
You will find full trace in log /var/tmp/packstack/20221210-220027-RbWWFw/manifests/192.168.242.134_controller.pp.log
Please check log file /var/tmp/packstack/20221210-220027-RbWWFw/openstack-setup.log for more information
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-20221210-220027.txt
 * Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components.

如果不出问题就出问题了,

解决参考:

【云计算】CentOS7 上配置Openstack(单机)bug记录

yum -y install PackageKit-backend
yum -y install yum-utils
yum -y install qpid-proton-c-0.26.0-2.el7.x86_64
yum -y install openstack-keystone
3. Error: (pymysql.err.OperationalError) (1045, u"Access denied for user ‘nova’@‘192.168.242.134’ (using password: YES)")
92.168.242.134_controller.pp:                    [ ERROR ]              
Applying Puppet manifests                         [ ERROR ]

ERROR : Error appeared during Puppet run: 192.168.242.134_controller.pp
Notice: /Stage[main]/Nova::Db::Sync/Exec[nova-db-sync]/returns: 
#########################这是主要报错,无法解决
Error: (pymysql.err.OperationalError) (1045, u"Access denied for user 'nova'@'192.168.242.134' (using password: YES)") (Background on this error at: http://sqlalche.me/e/e3q8)
#############################
You will find full trace in log /var/tmp/packstack/20221210-223929-ulhpTJ/manifests/192.168.242.134_controller.pp.log
Please check log file /var/tmp/packstack/20221210-223929-ulhpTJ/openstack-setup.log for more information
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

openstack部署流程,学习笔记,大数据和云计算,openstack,云计算,Linux,分布式

解决:根据信息提示 Access denied for user ‘nova’@‘hostname’ (using password: YES) 查看数据库用户信息,发现并不能登陆 openstack。此问题一直未得到解决,可以尝试删除虚拟机之后重新安装!

尝试了以下的方法:

openstack部署流程,学习笔记,大数据和云计算,openstack,云计算,Linux,分布式

仍然报了相同的错误!

我在Stack Overflow上也发现了类似的问题:https://stackoverflow.com/questions/66904344/openstack-installation-error-with-nova-and-authentification

and this:https://serverfault.com/questions/894327/how-to-install-rdo-openstack-in-hetzner

OpenStack搭建报错1045

1045-Access denied for user ‘‘@‘‘ (using password: YES)错误处理

4. Error: Systemd start for httpd failed!

出现该问题一般有两个原因: 1是端口号被占用了,2是僵尸进程

解决方法1:

ps -aux | grep http# 查看端口号,第二行数字就是进程pid号
# kill -pid号 即可杀掉进程 如 Kill -9  
# 杀完之后 重启reboot 再ps –aux | grep http 确保httpd进程被杀掉

解决方法2:

yum -y remove httpd mod_wsgi  #先卸载httpd服务
yum -y install httpd mod_wsgi #再重新安装
service httpd restart 		  #重启服务
systemctl start httpd.service # 重启服务

参考解决:

openstack部署中systemctl start httpd失败解决方法

OpenStack常见错误:无法开启http服务

OpenStack Train 安装过程记录

5. 打开浏览器之后提示:Forbidden You don’t have permission to access /dashboard on this server.
没有安装成功,请重新安装
6. Missing value auth-url required for auth plugin password

第一步:登录到openstack,找到右上角admin

第二步:下载admin-openrc.sh

第三步:将这个文件拖到openstack开发环境中,source它。输入密码就ok了。

参考: Missing value auth-url required for auth plugin password

7. The request you have made requires authentication. (HTTP 401)

参考:https://blog.csdn.net/qq_28513801/article/details/90263263

8. 其它问题

参考:

openstack中遇到的错误记录(记录中)

离线安装 Openstack 和问题记录

openstack报错汇总

来谈谈packstack工具部署OpenStack路上的一些坑

openstack部署及使用过程中遇到的问题汇总

去找找说不定有你的错误! 去找找说不定有你的错误!

9. 结尾

结尾彩蛋: 如何给命令行上个色? 👉 Xshell7 给 [root@Localhost:root] 上个颜色

PS1='\[\e[37;40m\][\[\e[37;40m\]\u\[\e[0m\]@\h \[\e[36;40m\]\w\[\e[37;40m\]]\\$\[\e[0m\]'

参考文章:

OpenStack rdo一键allinone部署

OpenStack部署(图文详解)

最全openstack部署教程

[openstack详细部署]

云平台技术学习笔记(二)

在centos7上使用packstack安装openstack

OpenStack-allinone单机部署-Bilibili文章来源地址https://www.toymoban.com/news/detail-779010.html

到了这里,关于OpenStack的简单部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • openstack 之 novnc流程分析

    目录 一.novnc简介 二.openstack中的novnc工作流程 三.源码分析         noVNC是一个支持HTML5的VNC客户端,主要作用就是与远端的vnc server进行互通,从而实现对于远端主机的控制。说白了,我们可以通过VNC客户端或者支持HTML5的浏览器访问远端安装了vnc server的服务器桌面从而进行控

    2024年03月20日
    浏览(39)
  • 云计算|OpenStack|社区版OpenStack安装部署文档(二---OpenStack运行环境搭建)

    一个良好的运行环境对于任何一个部署工作来说都是必须的,俗话说 万事开头难,其实很多部署工作失败的原因在于初始环境没有正确的配置,因此,按照官网的部署文档并结合自己的实际情况,配置一个合理的OpenStack运行环境是十分有必要的。 OpenStack的运行环境配置文档

    2023年04月08日
    浏览(48)
  • 云计算|OpenStack|社区版OpenStack安装部署文档(十二--- openstack的网络模型解析---Rocky版)

    https://zskjohn.blog.csdn.net/article/details/128846360   云计算|OpenStack|社区版OpenStack安装部署文档(六 --- 网络服务neutron的安装部署---Rocky版) (######注:以上文章使用的是openstack的provider网络,也称之为提供者网络,对此网络的扩展selfservice,称之为自服务网络,这个文章没有涉及)

    2024年02月06日
    浏览(41)
  • OpenStack Yoga安装部署,手把手使用kolla-ansible部署OpenStack

    基本上是按照官网文档快速入门进行安装,不过还有很多地方需要换源。重点在换源这块。如果说你的网关有魔法,那就不用看这篇文章了,直接复制官网命令安装。 部署OpenStack官方提供的Simple Configuration示例配置中的Web Application和Container Optimized两个组件配置清单。 其中包

    2024年02月06日
    浏览(60)
  • 云计算|OpenStack|社区版OpenStack安装部署文档(五 --- 计算服务nova安装部署---Rocky版)

    nova服务是openstack最重要的一个组件,没有之一,该组件是云计算的计算核心,大体组件如下: OpenStack Docs: Compute service overview 挑些重点,nova-api,libvirt,nova-placement-api,nova-api-metadata,nova-compute 并且nova安装部署是分为controller节点和computer节点了,controller节点就一个,comput

    2024年02月02日
    浏览(49)
  • 云计算|OpenStack|社区版OpenStack安装部署文档(三 --- 身份认证服务keystone安装部署---Rocky版)

    keystone是openstack的关键必选组件之一,其作用是提供身份认证服务,所有的身份认证信息都是存储在controller节点的数据库内。 具体的关于keystone的介绍可以参见官方文档: OpenStack Docs: Identity service overview 社区版openstack 服务组件的安装顺序: 以上图的文档顺序安装,第一个是

    2024年02月06日
    浏览(44)
  • 云计算(五)—— OpenStack基础环境配置与API使用,使用cURL命令获取实例列表,理解OpenStack的身份认证和API请求流程。使用openstack命令创建Fedora虚拟机实例

    使用cURL命令获取实例列表 理解OpenStack的身份认证和API请求流程。 (1)复习OpenStack的认证与API请求流程的相关内容。 (2)熟悉cURL命令基本用法。 参照任务二中任务实现进行操作。 若demo用户已修改密码,则需要先把/root/keystonerc_demo文件中的password修改为你修改的密码 。 (

    2024年04月26日
    浏览(96)
  • OpenStack部署(一)

    简介 OpenStack系统由几个单独安装的关键服务组成。这些服务根据需求协同工作,包括计算、身份、网络、图像、块存储、对象存储、遥测、编排和数据库服务。 部署版本:pike 部署环境:CentOS7.6 配置文件中所有controller可修改为控制节点ip地址 配置过程中使用 echo $? 验证命令

    2023年04月08日
    浏览(7)
  • OpenStack一键部署

                                                                     环境介绍 本案例需要提前部署一台新安装操作系统的主机,要求能访问互联网,主机的系统只需采用最小化方式安装。 若通过VMware等虚拟机软件实现,网络采用NAT模式。 安装部

    2024年02月09日
    浏览(36)
  • 最全openstack部署教程

    简单点来说就是一个云,一个属于自己的云平台,openstack的原版是亚马逊云,可以说openstack就是Rackspace和NASA的抄袭产物。 官方点说一个云平台管理的项目,它不是一个软件。这个项目由几个主要的组件组合起来完成一些具体的工作。帮助服务商和企业内部实现类似于 Amazon

    2024年02月02日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包