OpenStack云计算平台

目录

一、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_DBPASS Database 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服务,并且配置它随机启动。

相关推荐
Yan-英杰10 小时前
DeepSeek-R1模型现已登录亚马逊云科技
java·大数据·人工智能·科技·机器学习·云计算·deepseek
XINVRY-FPGA13 小时前
Xilinx FPGA XCVC1902-2MSEVSVA2197 Versal AI Core系列芯片的详细介绍
人工智能·嵌入式硬件·5g·ai·fpga开发·云计算·fpga
你觉得2052 天前
浙江大学朱霖潮研究员:《人工智能重塑科学与工程研究》以蛋白质结构预测为例|附PPT下载方法
大数据·人工智能·机器学习·ai·云计算·aigc·powerpoint
久违の欢喜2 天前
《云端变革:云计算重塑现代企业架构的实践之路》
架构·云计算
Linux运维老纪2 天前
运维之 Centos7 防火墙(CentOS 7 Firewall for Operations and Maintenance)
linux·安全·centos·云计算·运维开发·火绒
yuzhangfeng2 天前
【云计算物理网络】从传统网络到SDN:云计算的网络演进之路
网络·云计算
ZStack开发者社区2 天前
全球化2.0 | ZStack举办香港Partner Day,推动AIOS智塔+DeepSeek海外实践
人工智能·云计算
久违の欢喜3 天前
《云计算:核心驱动力》
云计算
yuzhangfeng3 天前
【云计算物理网络】数据中心网络架构设计
网络·云计算
久违の欢喜3 天前
《云计算:一场静悄悄的革命》
云计算