【Openstack Train安装】一、虚拟机创建

Openstack是一个云平台管理的项目,它不是一个软件。这个项目由几个主要的组件组合起来完成一些具体的工作。Openstack是一个旨在为公共及私有云的建设与管理提供软件的开源项目。它的社区拥有超过130家企业及1350位开发者,这些机构与个人将 Openstack作为基础设施即服务资源的通用前端。Openstack项目的首要任务是简化云的部署过程并为其带来良好的可扩展性。本文希望通过提供必要的指导信息,帮助大家利用 Openstack前端来设置及管理自己的公共云或私有云。

本教程参考官方安装文档实现:官方文档

安装环境如下

VMware WorkstationV17.0
本机系统win11
虚拟机系统CentOS 7.5

CentOS7.5 百度云下载:百度云提取码:v9qp

本教程共创建2个虚拟机,一个为控制节点(controller),控制节点包含2个网卡,一个为计算节点(compute),计算节点包含2个网卡,网络配置如下:

provider networkmanagement network
controller192.168.59.2010.0.0.11
compute192.168.59.3010.0.0.31

openstack的网络有两种配置方式,分为provider和self-service,本文采用self-service的方式搭建网络,关于网络类型可参考官方文档。

关于密码的说明:由于openstack安装多个不同的组建,需要创建多个密码,为了简单起见,本教程中所有的密码都设置为"123456"。

本教程对应的视频教程:[Openstack Train安装]一、虚拟机创建


一、配置VMware网络

打开VMware,选择 编辑 -> 虚拟网络编辑器:

打开的虚拟网络编辑器如下,以管理模式打开,配置NAT网络:

配置NAT的子网地址,本次实验规划的controller和compute节点的provider网络地址分别为192.168.59.20和192.168.59.30,他们的网络号是192.168.59.0,故将NAT子网的IP设置为192.168.59.0:

记录网关IP(网关IP用于后续配置节点的IP地址,务必记住):

网络配置完毕。

二、创建controller节点

首先创建controller虚拟机,打开VMware workstation:

选择典型,下一步:

选择Centos7.5镜像文件,下一步:

输入用户名和密码,密码为123456:

设置名称和虚拟机安装位置:

设置磁盘50GB,选择单个存储:

点击自定义硬件:

配置内存和处理器:

点击添加,准备添加网卡(controller和compute都要2个网卡):

勾选添加网卡:

第一张网卡使用NAT模式,可以访问互联网,第二章网卡是management网络,负责设备管理,添加LAN区段:

更改第二张网卡的网络连接模式并点击最下方的关闭按钮:

回到安装页面,点击完成:

开启虚拟机(如果勾选了“创建后开启此虚拟机”,则自动开启虚拟机),耐心等待,直到进入如下界面:

安装完毕,进入系统,点击Notlist,输入账号root,密码123456进入系统:

右键,open termimal打开一个终端:

进入 /etc/sysconfig/network-scripts/ 目录下,输入ls,查看当前文件夹内的文件,controller节点有2个网卡,他们的配置文件分别为ifcfg-ens33和ifcfg-ens34,文件名称可能不一样,但是没有关系,这个不影响,只需要在后面修改的时候把路径替换成自己的就可以:

输入命令"vi ifcfg-ens33",进入配置界面,进行如下配置为了防止每次虚拟机开机IP地址变化,将第一张网卡的IP改为静态IP 192.168.59.20(本文一开始规划的IP),网关设置为192.168.59.2(虚拟机网络设置NAT配置里面,默认的网关IP),DNS设置为114.114.114.114(全国通用DNS),第一张网卡用于访问互联网,修改完毕后保存:

接下来配置第二章网卡,第二章网卡属于management network,用于设备管理,输入命令“vi ifcfg-ens34”,进行如下配置(Management Network使用的网络号为10.0.0.0,按照规划,控制节点的IP地址为10.0.0.11),修改完毕后保存:

网络配置完成后,重启网络服务,并关闭NetworkManager:

systemctl restart network
systemctl stop NetworkManager 
systemctl disable NetworkManager

关闭防火墙和selinux(为了简单起见,在实验环节关闭防火墙和selinux,生产环境不建议关闭):

systemctl stop firewalld 
systemctl disable firewalld
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
cat /etc/selinux/config

/etc/selinux/config中的SELINUX=disabled即可,如下所示:

将本机的主机名设置为controller,使用如下命令:

hostnamectl set-hostname controller

配置本机的DNS服务,输入命令“vi /etc/hosts”,进行如下配置:

输入命令“reboot”,重启虚拟机。虚拟机重启后,打开终端,输入命令"ifconfig",查看IP配置:

输入命令“ping www.baidu.com”检查是否能够访问外网,如果可以访问外网,controller节点配置结束;如果不可以访问外网,输入命令“dhclient”,再次尝试“ping www.baidu.com”,确保可以访问外网。

控制节点配置完毕,输入“init 0”关机。

三、创建计算节点

确保控制节点关机,右键控制节点->管理->克隆:

下一步,进入下面的界面,再次下一步:

创建完整克隆:

名称改为compute,路径自己配置,点击完成:

compute节点克隆完成,接下来开启虚拟机,登录root用户:

打开终端,输入命令“hostnamectl set-hostname compute”,将主机名设置为compute:

进入目录/etc/sysconfig/network-scripts/,配置网卡ens33:

修改ens33的IP地址为192.168.59.30,保存退出:

输入命令“vi ifcfg-ens34”,配置第二个网卡的地址,保存退出:

 网络配置完成后,重启网络服务,并关闭NetworkManager:

systemctl restart network
systemctl stop NetworkManager 
systemctl disable NetworkManager

关闭防火墙和selinux(为了简单起见,在实验环节关闭防火墙和selinux,生产环境不建议关闭):

systemctl stop firewalld 
systemctl disable firewalld
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
cat /etc/selinux/config

/etc/selinux/config中的SELINUX=disabled即可,如下所示:

重启compute节点,输入命令“ping www.baidu.com”,查看能否访问互联网,如果不能访问,输入命令“dhclient”,再次输入命令“ping www.baidu.com”,确保可以访问互联网,如下图:

四、网络通信测试

接下来controller节点开机,在控制节点输入下图命令,确保可以ping通:

在compute节点进行如下测试:

测试完毕,虚拟机安装完成,网络基本配置完成。

致谢

1、感谢Ceased纠正了IP地址错误。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/194216.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Java] 模拟Jdk 以及 CGLib 代理原理

文章目录 JDKarthas 反编译jdk代理对象arthas 反编译的结果是: CGlibmethodProxy 不经过反射调用方法的原理MethodProxy原理模拟 结合目标对象使用模拟结合 代理对象使用 JDK Jdk代理的最简单模拟, 由前文可知 JDK动态代理需要实现接口,所以…

★543. 二叉树的直径

543. 二叉树的直径 简单题,确实不难。 相当于就是求节点的深度。左孩子的最大深度 右孩子的最大深度 1 根节点深度。 本题要求的就是路径数,这里的路径数 节点数 - 1,然后想一下,对于一个节点来说,以他为根左右两…

数据结构与算法设计分析——NP完全理论

目录 一、P类问题与NP类问题的定义二、常见的NP类问题(一)旅行商问题(TSP)(二)哈密尔顿回路问题(三)判断回路问题(四)图的着色问题(五&#xff09…

使用AOS实现网页动画效果

在现代Web开发中,动画效果是提升用户体验和页面交互性的重要因素之一。而AOS(Animate On Scroll)作为一个强大的动画库,可以帮助我们轻松地实现网页元素的滚动动画效果。 什么是AOS? AOS是一个基于CSS3和JavaScript的…

Transformer

目录 Encoder Add&Norm:(LayerNorm)Transformer中的归一化(五):Layer Norm的原理和实现 & 为什么Transformer要用LayerNorm - 知乎 (zhihu.com) LayerNorm怎么做的? Feed Forward: FeedForward代码: 公式…

Java Stream流对多个字段动态指定字段排序

Java 8 的 Stream 使用了函数式编程模式,它可以被用来对集合或数组进行链状流式的排序就需要搬出Stream sort方法进行排序,重写其中的Comparator。 本文重点介绍使用Java Stream流排序器Comparator对List集合进行排序的技巧,包括复杂实体对象多字段升降序排序方法。 1为什么…

学习TypeScrip5(函数扩展)

函数的类型 注意,参数不能多传,也不能少传 必须按照约定的类型来 const fn (name: string, age:number): string > {return name age } fn(张三,18) 函数的可选参数? 通过?表示该参数为可选参数 const fn (name: string, age?:number): stri…

Android 12 及以上授权精确位置和模糊位置

请求位置信息权限 为了保护用户隐私,使用位置信息服务的应用必须请求位置权限。 请求位置权限时,请遵循与请求任何其他运行时权限相同的最佳做法。请求位置权限时的一个重要区别在于,系统中包含与位置相关的多项权限。具体请求哪项权限以及…

栈和队列的OJ题——14.用栈实现队列

14.用栈实现队列 232. 用栈实现队列 - 力扣(LeetCode) /* 解题思路: 此题可以用两个栈实现,一个栈进行入队操作,另一个栈进行出队操作 出队操作: 当出队的栈不为空是,直接进行出栈操作&#xff…

算法通关村第七关—迭代实现二叉树的遍历(黄金)

迭代实现二叉树的遍历 迭代法实现前序遍历 前序遍历是中左右&#xff0c;如果还有左子树就一直向下找。完了之后再返回从最底层逐步向上向右找。不难写出如下代码&#xff1a;&#xff08;注意代码中&#xff0c;空节点不入栈&#xff09; public List<Integer>preorde…

VSCode 中将头文件和头文件函数分离,编译主函数跳出 undefined reference to 的问题解决

VSCode 编写 C &#xff08;.h&#xff0c;.cpp 文件分离&#xff09;代码&#xff0c;编写完成后&#xff0c;编译遇到了编译错误 undefined reference to xxx。 开始还以为使用了 -stdc20 而不能使用 #include “xxx.h" 方式头文件&#xff0c;但仔细一想虽然引入了 im…

前端这个岗位对于整个项目的意义

在软件开发这个领域&#xff0c;开发一款软件就意味着一个项目的诞生&#xff0c;那么&#xff0c;一个项目诞生它包括很多人的共同协作和努力去实现&#xff0c;那么大概包括以下这些步骤&#xff1a; 1.需求分析&#xff1a;这是软件开发的第一步&#xff0c;商务人员和产品…

基于YOLOv7算法的的高精度实时通用目标检测识别系统(PyTorch+Pyside6+YOLOv7)

摘要&#xff1a;基于YOLOv7算法的高精度实时检测识别系统可用于日常生活中检测与定位多种目标&#xff0c;此系统可完成对输入图片、视频、文件夹以及摄像头方式的目标检测与识别&#xff0c;同时本系统还支持检测结果可视化与导出。本系统采用YOLOv7目标检测算法来训练数据集…

OpenHarmony 应用(HarmonyOS 原生应用)- 写一个 Hello World 并在华为手机上跑起来

OpenHarmony 简介 ArkUI 开发框架 OpenHarmony 提供了一套UI开发框架&#xff0c;即方舟开发框架&#xff08;ArkUI 框架&#xff09;。 两种开发范式 支持两种开发范式&#xff0c;分别是基于ArkTS的声明式开发范式&#xff08;简称“声明式开发范式”&#xff09;和兼容J…

【Leetcode题单】(01 数组篇)刷题关键点总结03【数组的改变、移动】

【Leetcode题单】&#xff08;01 数组篇&#xff09;刷题关键点总结03【数组的改变、移动】&#xff08;3题&#xff09; 数组的改变、移动453. 最小操作次数使数组元素相等 Medium665. 非递减数列 Medium283. 移动零 Easy 大家好&#xff0c;这里是新开的LeetCode刷题系列&…

弦理论的技术探索

弦理论的技术探索 一、引言 弦理论,作为现代物理学中的一个重要分支,旨在揭示宇宙的终极规律。它认为,宇宙中的一切物质和能量都是由微小的弦振动产生的。本文将深入探讨弦理论的技术层面,包括其数学基础、物理应用以及计算机模拟等方面。 二、弦理论的数学基础 弦理论的…

Go连接mysql数据库

package main import ("database/sql""fmt"_ "github.com/go-sql-driver/mysql" ) //go连接数据库示例 func main() {// 数据库信息dsn : "root:roottcp(192.168.169.11:3306)/sql_test"//连接数据库 数据库类型mysql,以及数据库信息d…

【Tkinter 入门教程】

【Tkinter 入门教程】 1. Tkinter库的简介&#xff1a;1.1 GUI编程1.2 Tkinter的定位 2. Hello word! 程序起飞2.1 第⼀个程序2.2 字体颜色主题 3. 组件讲解3.1 tkinter 的核⼼组件3.2 组件的使⽤3.3 标签Label3.3.1 标签显示内容3.3.2 多标签的应⽤程序3.3.3 总结 3.4 按钮but…

Wireshark 协议插件Lua开发 -数据包内嵌协议的解释

概述 因为公司项目涉及的协议打包&#xff0c;协议包内又嵌了一层IP包的奇葩套娃结构&#xff0c;为了方便抓包调试&#xff0c;利用Wireshark的协议插件开发功能&#xff0c;写了一个插件&#xff0c;博文记录以备忘。 环境信息 Wireshark 4.0.3 协议结构体套娃图 插件安装…

使用unity开发Pico程序,场景中锯齿问题

1、问题 使用unity【非HDR】开发Pico程序&#xff0c;场景中锯齿问题&#xff0c;设置了unity的抗锯齿和渲染方式,及悬挂抗锯齿的脚本&#xff0c;都不能很好的解决项目中图片、文字的锯齿问题&#xff0c;通过摸索找到了妥善的方法 1、修改项目中图片的 GenerateMIpMaps 为勾…