??OpenStack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合。由NASA(美国国家航空航天局)和Rackspace合作研发并发起,以Apache许可证(Apache软件基金会发布的一个自由软件许可证)授权的开源代码项目。
??OpenStack为私有云和公有云提供可扩展的弹性的云计算服务。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。
??5个Openstack的重要构成部分:
??1.Nova - 计算服务
??2.Swift - 存储服务
??3.Glance - 镜像服务
??4.Keystone - 认证服务
??5.Horizon - UI服务
????????????????OpenStack基本构架
????????????Keystone、Dashboard与Openstack部分交互
??以上,便是博主对大三下学期《OpenStack云平台部署与高可用》课程做的一个简要的介绍,原本博主是尝试使用Centos7来搭建OpenStack的:
??但在实践的过程中发现,是异常的繁琐的事,卡在最后两步的数据库授权上(在Mysql中也给nova等用户授于过所有使用权限),经管博主也是尽可能的尝试过了一些解决方式,前后重新搭建了4次,均未能解决该问题,如图:
??且每次都可能遇到新的报错,合计花费了整整一天办的时间,逐渐的失去耐心,如果有路过的大佬,晓得如何解决该问题的话,欢迎留言讨论,也可私信博主,非常感谢您。
??好,废话到此为止,让我们正式步入主题吧,Kali搭建OpenStack。
??● 使用基于微堆栈的安装
??● 单机所需
??● 16 GB或更多内存 (当然,≥4G即可)
??● 多核处理器 (如果是pc机,至少分配1个4核CPU,并开启CPU虚拟化技术)
??● 50 GB的空闲磁盘空间 (根据个人具体情况分配)
??● Kali Linux 2018.4或更高版本
??(Ubuntu则选18.04 LTS或更高版本)
??● 包括所有关键的OpenStack组件
??● 与上游完全兼容
??● 支持开发迭代
??若为虚拟机搭建,例图:
??博主建议网络桥接,如图是博主的kali虚拟机配置。
??如果博友Kali系统版本过低,可执行如下命令进行在线升级:
# apt-get update && apt-get upgrade -y
??再执行:
# apt-get dist-upgrade -y
?? 博主的搭建环境如下:
??CPU虚拟化技术:
??相信,已经使用vmware虚拟机的你早已在bios中打开了CPU虚拟化支持 如果是Intel的CPU应在bois中激活Intel Virtual Technology项来开启,若是AMD的CPU则激活SVM Mode项来激活, 具体请根据你电脑型号百度查询完成。
??在Vmware虚拟机中,在虚拟机设置中处理器下虚拟化引擎开启:选择 虚拟化Intel VT-x/EPT 或 AMD-V/RVI(V) 项
??Kali中执行查询命令:
# cat /proc/cpuinfo
??在 flags查看,有SVM或VMX则表明已开启CPU虚拟化技术。
??snap是一款很强大的包管理器,我们用snap来安装OpenStack将会非常的方便!!倘若有朋友对snap尚不了解的话,可以阅读博主的另一篇博文,进一步学习了解:《Kali之snpa包管理器 》
??Kali中还未有snap包管理器的朋友,如下执行:
# apt install -y snapd # 安装
# systemctl enable snapd.service
# systemctl restart snapd.service # 开启snpa包管理服务
# echo "export PATH=$PATH:/snap/bin" >> ~/.bashrc # 利用重定向写入环境变量中
# source ~/.bashrc # 执行生效命令
??或许会有朋友困惑了,不是说OpenStack么,和MicroStack有什么关系呢?别着急,帅气又细心的博主已为你备好了解答:
$ sudo snap install microstack --beta --devmode
??注:安装了带有–devmode标志将不会接收更新。
microstack (beta) ussuri from Canonical? installed
译文:显示的版本(在这里,Ussuri)与MicroStack提供的最新的稳定OpenStack版本相匹配。
??返回如上英文信息,表明安装成功!
??重启snap包管理器:
# systemctl restart snapd.service
??在使用OpenStack安装之前,必须对其进行初始化,以便配置网络和数据库。 为此,请运行:
# sudo snap run microstack init --auto --control # 手敲
WARNING: cgroup v2 is not fully supported yet, proceeding with partial confinement
2021-04-14 12:39:26,896 - microstack_init - INFO - Configuring clustering ...
2021-04-14 12:39:26,972 - microstack_init - INFO - Setting up as a control node.
......
-04-14 12:46:08,430 - microstack_init - INFO - Complete. Marked microstack as initialized!
??出现 Marked microstack as initialized! 的执行消息,则表明OpenStack正在本地运行了,可以使用了!
??可通过WebGUI或CLI与OpenStack进行交互
$ sudo snap get microstack config.credentials.keystone-password
??OpenStack仪表板:
??可以开始使用本地私有云(即创建其他用户、启动实例等)了。
??还可以通过CLI与OpenStack进行交互,方法是使用 microstack.openstack命令 。微堆栈CLI语法与Python-openstackclient包裹。
??例如,要列出可用的OpenStack端点,请运行:
$ sudo snap run microstack.openstack catalog list
??microstack返回列表:
WARNING: cgroup v2 is not fully supported yet, proceeding with partial confinement
+-----------+-----------+----------------------------------------------------------------------------+
| Name | Type | Endpoints |
+-----------+-----------+----------------------------------------------------------------------------+
| nova | compute | microstack |
| | | public: http://192.168.43.190:8774/v2.1 |
| | | microstack |
| | | internal: http://192.168.43.190:8774/v2.1 |
| | | microstack |
| | | admin: http://192.168.43.190:8774/v2.1 |
| | | |
| cinderv3 | volumev3 | microstack |
| | | admin: http://192.168.43.190:8776/v3/3840ab8c3aac4e7d8d1309dc565e9db3 |
| | | microstack |
| | | internal: http://192.168.43.190:8776/v3/3840ab8c3aac4e7d8d1309dc565e9db3 |
| | | microstack |
| | | public: http://192.168.43.190:8776/v3/3840ab8c3aac4e7d8d1309dc565e9db3 |
| | | |
| cinderv2 | volumev2 | microstack |
| | | public: http://192.168.43.190:8776/v2/3840ab8c3aac4e7d8d1309dc565e9db3 |
| | | microstack |
| | | admin: http://192.168.43.190:8776/v2/3840ab8c3aac4e7d8d1309dc565e9db3 |
| | | microstack |
| | | internal: http://192.168.43.190:8776/v2/3840ab8c3aac4e7d8d1309dc565e9db3 |
| | | |
| keystone | identity | microstack |
| | | admin: http://192.168.43.190:5000/v3/ |
| | | microstack |
| | | internal: http://192.168.43.190:5000/v3/ |
| | | microstack |
| | | public: http://192.168.43.190:5000/v3/ |
| | | |
| glance | image | microstack |
| | | public: http://192.168.43.190:9292 |
| | | microstack |
| | | internal: http://192.168.43.190:9292 |
| | | microstack |
| | | admin: http://192.168.43.190:9292 |
| | | |
| neutron | network | microstack |
| | | public: http://192.168.43.190:9696 |
| | | microstack |
| | | admin: http://192.168.43.190:9696 |
| | | microstack |
| | | internal: http://192.168.43.190:9696 |
| | | |
| placement | placement | microstack |
| | | internal: http://192.168.43.190:8778 |
| | | microstack |
| | | admin: http://192.168.43.190:8778 |
| | | microstack |
| | | public: http://192.168.43.190:8778 |
| | | |
+-----------+-----------+----------------------------------------------------------------------------+
??更多命令可通过help查询:microstack.openstack --help
??启动第一个OpenStack实例(或VM)的最快方法是运行以下命令:
$ sudo snap run microstack launch cirros --name xyl # "xyl"为你创建项目名
??向实例提供SSH所需的信息:
WARNING: cgroup v2 is not fully supported yet, proceeding with partial confinement
Launching server ...
Allocating floating ip ...
Server xyl launched! (status is BUILD)
Access it with `ssh -i /home/root/snap/microstack/common/.ssh/id_microstack cirros@10.20.20.43`
You can also visit the OpenStack dashboard at http://10.20.20.1:80
??值得注意的是ip地址会根据你的环境而不同。接下来ssh连接实例,执行命令:
# ssh -i /home/root/snap/microstack/common/.ssh/id_microstack cirros@10.20.20.43
??连接到OpenStack集群上后就可以执行各种命令干活了,例如:
uptime
14:51:42 up 4 min, 1 users, load average: 0.00, 0.00, 0.00
??当断开连接时执行:exit。
Mysql数据库五——mysql事务及引擎 一、事务 1、事务的概念 2、事务的ACID特点 ...
我之前写过一个简易版的自动+手动轮播图: 简易轮播图 但是这个轮播图在切换的时...
接着昨天的,如果forEach中的items类型是map或者Collection类型的,怎样使用增强...
例如: 我们在百度中搜索 尊托云数,则网址后面的参数就是 http://www.baidu.com/...
如果你很在意你的终端的外观的话,一个跨 shell 的提示符可以让你轻松地定制和配...
Asp 解析 XML并分页显示,示例源码如下: 复制代码 代码如下: !DOCTYPE html PUB...
主要目的 a. 掌握获取 GridPanel 当前行的各个字段值的方法 b. 掌握如何将前台数...
关于我的SWFObject V1.5的使用过程,以 上篇 中的介绍暂时告一段落了,下面我将...
本文实例为大家分享了js实现电灯开关效果的具体代码,供大家参考,具体内容如下 ...
发现每个编辑实例都可以加载不同的css样式表,而且其样式不继承 页面的css。 于...