OpenStack云计算平台

news2024/10/6 8:40:48

目录

一、OpenStack

1、简介

2、硬件需求

3、网络

二、环境搭建 

1、安全

2、主机网络

3、网络时间协议(NTP)

4、OpenStack包

5、SQL数据库

6、消息队列

7、Memcached


一、OpenStack

1、简介

官网:https://docs.openstack.org/2023.2/

        OpenStack系统由几个关键服务组成,它们可以单独安装。这些服务根据你的云需求工作在一起。这些服务包括计算服务、认证服务、网络服务、镜像服务、块存储服务、对象存储服务、计量服务、编排服务和数据库服务。您可以独立安装这些服务、独自配置它们或者连接成一个整体。

 

 

2、硬件需求

控制器

        控制节点上运行身份认证服务,镜像服务,计算服务的管理部分,网络服务的管理部分,多种网络代理以及仪表板。也需要包含一些支持服务,例如:SQL数据库,term:消息队列, and NTP。

        可选的,可以在计算节点上运行部分块存储,对象存储,Orchestration 和 Telemetry 服务。

        计算节点上需要至少两块网卡。

计算

        计算节点上运行计算服务中管理实例的管理程序部分。默认情况下,计算服务使用 KVM

        你可以部署超过一个计算节点。每个结算节点至少需要两块网卡。

块设备存储

        可选的块存储节点上包含了磁盘,块存储服务和共享文件系统会向实例提供这些磁盘。

        为了简单起见,计算节点和本节点之间的服务流量使用管理网络。生产环境中应该部署一个单独的存储网络以增强性能和安全。

        你可以部署超过一个块存储节点。每个块存储节点要求至少一块网卡。

对象存储

        可选的对象存储节点包含了磁盘。对象存储服务用这些磁盘来存储账号,容器和对象。

        为了简单起见,计算节点和本节点之间的服务流量使用管理网络。生产环境中应该部署一个单独的存储网络以增强性能和安全。

        这个服务要求两个节点。每个节点要求最少一块网卡。你可以部署超过两个对象存储节点。

3、网络

从下面的虚拟网络选项中选择一种选项。

网络选项1:公共网络

        公有网络选项使用尽可能简单的方式主要通过layer-2(网桥/交换机)服务以及VLAN网络的分割来部署OpenStack网络服务。本质上,它建立虚拟网络到物理网络的桥,依靠物理网络基础设施提供layer-3服务(路由)。额外地 ,:term:`DHCP`为实例提供IP地址信息。

注解

这个选项不支持私有网络,layer-3服务以及一些高级服务,例如:term:LBaaS and FWaaS。如果你需要这些服务,请考虑私有网络选项

 

网络选项2:私有网络

        私有网络选项扩展了公有网络选项,增加了启用 self-service`覆盖分段方法的layer-3(路由)服务,比如 :term:`VXLAN。本质上,它使用 :term:`NAT`路由虚拟网络到物理网络。另外,这个选项也提供高级服务的基础,比如LBaas和FWaaS。

二、环境搭建 

以下最小需求支持概念验证环境,使用核心服务和几个:term:`CirrOS`实例:

  • 控制节点: 1 处理器, 4 GB 内存, 及5 GB 存储

  • 计算节点: 1 处理器, 2 GB 内存, 及10 GB 存储

        由于Openstack服务数量以及虚拟机数量的正常,为了获得最好的性能,我们推荐你的环境满足或者超过基本的硬件需求。如果在增加了更多的服务或者虚拟机后性能下降,请考虑为你的环境增加硬件资源。

        为了避免混乱和为OpenStack提供更多资源,我们推荐你最小化安装你的Linux发行版。同时,你必须在每个节点安装你的发行版的64位版本。

        每个节点配置一个磁盘分区满足大多数的基本安装。但是,对于有额外服务如块存储服务的,你应该考虑采用 :term:`Logical Volume Manager (LVM)`进行安装。

主机

ip

角色

open

192.168.67.51

controller(控制节点)
open1

192.168.67.52

compute1(计算节点)
open2

192.168.67.53

block1(块存储节点) 可选

1、安全

openssl rand -hex 10

密码:

密码名称

描述

数据库密码(不能使用变量)

数据库的root密码

ADMIN_PASS

admin 用户密码

CEILOMETER_DBPASS

Telemetry 服务的数据库密码

CEILOMETER_PASS

Telemetry 服务的 ceilometer 用户密码

CINDER_DBPASS

块设备存储服务的数据库密码

CINDER_PASS

块设备存储服务的 cinder 密码

DASH_DBPASSDatabase password for the dashboard
DEMO_PASS

demo 用户的密码

GLANCE_DBPASS

镜像服务的数据库密码

GLANCE_PASS

镜像服务的 glance 用户密码

HEAT_DBPASS

Orchestration服务的数据库密码

HEAT_DOMAIN_PASS

Orchestration 域的密码

HEAT_PASS

Orchestration 服务中``heat``用户的密码

KEYSTONE_DBPASS

认证服务的数据库密码

NEUTRON_DBPASS

网络服务的数据库密码

NEUTRON_PASS

网络服务的 neutron 用户密码

NOVA_DBPASS

计算服务的数据库密码

NOVA_PASS

计算服务中``nova``用户的密码

RABBIT_PASS

RabbitMQ的guest用户密码

SWIFT_PASS

对象存储服务用户``swift``的密码

2、主机网络

配置网络接口:

修改网卡名称(为了保持一致,后面不会出错)

cd /boot/grub2/
vim grub.cfg
net.ifnames=0

然后重启

将第一个接口配置为管理网络接口

mv ifcfg-ens33 ifcfg-eth0
vim ifcfg-eth0

 

提供者网络接口使用一个特殊的配置,不分配给它IP地址。配置第二块网卡作为提供者网络

cp ifcfg-eth ifcfg-ethl
vim ifcfg-eth1

配置域名解析 

设置节点主机名为 controller。

编辑 /etc/hosts 文件

3、网络时间协议(NTP)

安全并配置组件

安装软件包:

yum install chrony

 编辑 /etc/chrony.conf 文件 (使用aliyun的)

vim /etc/chrony.conf

 

完成

其他节点一致

4、OpenStack包

提前准备好的源

放在/opt/

配置软件仓库

cd /etc/yum.repos.d/
vim openstack.repo
[openstack]
name=mitaka
baseurl=file:///opt/mitaka
gpgcheck=0

在主机上升级包:

yum upgrade

安装 OpenStack 客户端:

yum install python-openstackclient

5、SQL数据库

       大多数 OpenStack 服务使用 SQL 数据库来存储信息。 典型地,数据库运行在控制节点上。指南中的步骤依据不同的发行版使用MariaDB或 MySQL。OpenStack 服务也支持其他 SQL 数据库

SQL数据库配置组件

安装软件包:

yum install mariadb mariadb-server python2-PyMySQL

创建并编辑

vim /etc/my.cnf.d/openstack.cnf

[mysqld]
bind-address = 192.168.67.51
default-storage-engine = innodb
innodb_file_per_table
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8

 

 完成安装

systemctl enable --now mariadb.service

 初始化

mysql_secure_installation

6、消息队列

       OpenStack 使用 message queue 协调操作和各服务的状态信息。消息队列服务一般运行在控制节点上。OpenStack支持好几种消息队列服务包括 RabbitMQ, Qpid, 和 ZeroMQ。不过,大多数发行版本的OpenStack包支持特定的消息队列服务。

安全并配置组件:

yum install rabbitmq-server

systemctl enable --now rabbitmq-server.service
rabbitmqctl add_user openstack openstack
rabbitmqctl set_permissions openstack ".*" ".*" ".*"

 

打开rabbitmq management 模块 访问15672接口

rabbitmg-plugins list
rabbitmq-plugins enable rabbitmq management
netstat -antlp

账号密码guest

7、Memcached

       认证服务认证缓存使用Memcached缓存令牌。缓存服务memecached运行在控制节点。在生产部署中,我们推荐联合启用防火墙、认证和加密保证它的安全。

安装:

yum install memcached python-memcached

配置:

启动Memcached服务,并且配置它随机启动。

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

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

相关文章

简单使用YOLOv5自己训练模型

使用YOLOv5自己训练模型 前言:本文基于我的另一篇文章作为基础,文章戳这里,主要还是实操为主,让大家能快速上手使用。 数据集构建 1.准备工作 数据收集: 图片类型数据 视频类型数据(使用opencv进行视频…

矩阵论(Matrix)

​ 大纲 矩阵微积分:多元微积分的一种特殊表达,尤其是在矩阵空间上进行讨论的时候逆矩阵(inverse matrix)矩阵分解:特征分解(Eigendecomposition),又称谱分解(Spectral decomposition&#xf…

【MATLAB源码-第88期】基于matlab的灰狼优化算法(GWO)的栅格路径规划,输出做短路径图和适应度曲线

操作环境: MATLAB 2022a 1、算法描述 灰狼优化算法(Grey Wolf Optimizer, GWO)是一种模仿灰狼捕食行为的优化算法。灰狼是群居动物,有着严格的社会等级结构。在灰狼群体中,通常有三个等级:首领&#xff…

java中 自动装箱与拆箱,基本数据类型,java堆与栈,面向对象与面向过程

文章目录 自动装箱与拆箱基本数据类型与包装类的区别(int 和 Integer 有什么区别)应用场景的区别: 堆和栈的区别重点来说一下堆和栈:那么堆和栈是怎么联系起来的呢? 堆与栈的区别 很明显:延伸:关于Integer…

python opencv 边缘检测(sobel、沙尔算子、拉普拉斯算子、Canny)

python opencv 边缘检测(sobel、沙尔算子、拉普拉斯算子、Canny) 这次实验,我们分别使用opencv 的 sobel算子、沙尔算子、拉普拉斯算子三种算子取进行边缘检测,然后后面又使用了Canny算法进行边缘检测。 直接看代码,代…

【腾讯云云上实验室-向量数据库】基于向量数据的客户价值体系推荐系统设计

【腾讯云云上实验室-向量数据库】深入浅出-基于向量分析的客户价值体系推荐系统设计 前言 很早之前就有过想写推荐系统系列文章了,本人曾任职高级大数据工程师全程参与过推荐系统的搭建,故在搭建推荐系统算得上是有一定的经验。推荐系统搭建有相当多的…

UI自动化(selenium+python)之元素定位的三种等待方式!

前言 在UI自动化过程中,常遇到元素未找到,代码报错的情况。这种情况下,需要用等待wait。 在selenium中可以用到三种等待方式即sleep,implicitly_wait,WebDriverWait 一、固定等待(sleep) 导入time模块,设定固定的等待时间 缺…

【点云surface】无序点云快速三角化

1 介绍 GreedyProjectionTriangulation 是一种基于局部二维投影的三维点贪婪三角剖分算法的实现。它假定局部表面光滑,不同点密度区域之间的过渡相对平滑。 GreedyProjectionTriangulation算法的基本思想是通过逐步投影点云数据到一个三角化网格上来进行重建。它首…

Pycharm创建项目新环境,安装Pytorch

在python项目中,很多项目使用的各类包的版本是不一致的。所以我们可以对每个项目有专属于它的环境。所以这个文章就是教你如何创建新环境。 一、创建新环境 二、下载安装包 在下载安装包时,可以加入清华源,这样下载更快!不然有时…

消息推送到微信,快速实现WxPusher

文章目录 前言一、平台二、代码总结 前言 我的博客里也有其他方法,测试了下感觉这个方法还是比较实用。 一、平台 先仔细阅读下平台的使用方法。 平台地址请点击 二、代码 import requests text 孪生网络模型已经训练完成,请注意查阅相关信息。 req…

学习Pandas 二(Pandas缺失值处理、数据离散化、合并、交叉表与透视表、分组与聚合)

文章目录 六、高级处理-缺失值处理6.1 检查是否有缺失值6.2 缺失值处理6.3 不是缺失值NaN,有默认标记的 七、高级处理-数据离散化7.1 什么是数据的离散化7.2 为什么要离散化7.3 如何实现数据的离散化 八、高级处理-合并8.1 pc.concat实现合并,按方向进行…

Linux文件基础(文件查看及vim)

文件查看命令: (1)cat 1)查看文件内容(内容较少时使用):cat 文件名 2)合并文件:cat 文件名1 文件名2> 文件名3 3)往文件中写入数据,(Ctrld结束输入); (2)more more 文件名 文件内容较多时用more(空格,回车往下翻,b回滚) (3)less less 文件名 看完内容之后不会显示…

最重要的BI测试-适用于任何BI和分析平台

为什么 BI 测试是答案 相信你的数据可视化是成功执行商业智能 (BI) 和分析项目的关键因素。我敢肯定,你遇到过以下情况:业务主管或业务用户反馈说他们的分析看起来不对,他们的 KPI 看起来有问题,或者速度太慢而无法使用。要问自己…

【Spring篇】JDK动态代理

目录 什么是代理? 代理模式 动态代理 Java中常用的代理模式 问题来了,如何动态生成代理类? 动态代理底层实现 什么是代理? 顾名思义,代替某个对象去处理一些问题,谓之代理,那么何为动态&a…

项目环境配置 本地/测试/预发/生产

在本地目录下新建文件 dev测试环境 development 本地开发环境 production 生产环境 uat预发布环境 .env.dev VUE_APP_API_PATH /api # 测试 VUE_APP_API_PATH http:// # 生成dist名称 VUE_APP_DIST dist_dev .env.development # 本地开发环境 VUE_APP_API_PATH…

pat实现基于邻接矩阵表示的深度优先遍历

void DFS(Graph G, int v) {visited[v] 1;printf("%c ", G.vexs[v]);for (int i 0; i < G.vexnum; i) {if (!visited[i] && G.arcs[v][i]) DFS(G, i);} }

qPCR(荧光定量PCR)的Ct值

今天我们要说的问题&#xff0c;也是对qPCR的更高阶的认识。 1、Ct值到底是不是YYDS&#xff1f; 2、Ct值跟哪些因素有关&#xff1f; 3、同样的模板&#xff0c;Ct值大试剂盒就差吗&#xff1f;要不要换试剂盒&#xff1f; 还是从这个盗版来的图说起。你必须明白以下几个概…

政务大数据与资源平台建设解决方案:PPT全文75页,附下载

关键词&#xff1a;智慧政务解决方案&#xff0c;大数据解决方案&#xff0c;数据中心解决方案&#xff0c;数据治理解决方案 一、政务大数据与资源平台建设背景 1、政务大数据已成为智慧城市建设的必要基础 为响应国家不断加快5G基建、大数据、人工智能等新型基础设施建设布…

HTML CSS登录网页设计

一、效果图: 二、HTML代码: <!DOCTYPE html> <!-- 定义HTML5文档 --> <html lang="en"> …

开源语音大语言模型来了!阿里基于Qwen-Chat提出Qwen-Audio!

论文链接&#xff1a;https://arxiv.org/pdf/2311.07919.pdf 开源代码&#xff1a;https://github.com/QwenLM/Qwen-Audio 引言 大型语言模型&#xff08;LLMs&#xff09;由于其良好的知识保留能力、复杂的推理和解决问题能力&#xff0c;在通用人工智能&#xff08;AGI&am…