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

相关推荐
ZhangJun955 小时前
Linux常用命令笔记,中高级运维高频指令,并附上vim常见操作
linux·运维·centos·云计算·vim
逐流人5 小时前
Ceph对象存储与文件系统存储管理:从RADOS网关、S3与Swift到CephFS快照同步
linux·运维·ceph·云原生·云计算·swift·rados
逐流人18 小时前
Ceph分布式存储集群配置与池管理:从配置优先级到PG、复本池与纠删码池
运维·分布式·ceph·云原生·云计算·rados
jqpwxt1 天前
启点创新科技景区私有化票务管理系统:智慧景区数字化建设核心服务商,以本地部署筑牢景区数字化安全与稳定底座
大数据·人工智能·科技·云计算·旅游
ZhangJun951 天前
三次握手、四次挥手的具体细节和流程详解,附加思考题
tcp/ip·计算机网络·云计算
腾讯云大数据1 天前
腾讯云数据智能体TCDataAgent升级:大数据平台不只“给人用”,也要“给Agent用”
大数据·云计算·腾讯云
河北小博博2 天前
阿里云 ChatOps Agent 让非标准化环境可修复:内核漏洞换盘后的容器恢复
阿里云·云计算
会议咨询2 天前
2026年数据科学、云计算与智能技术国际会议(DCIT 2026)
云计算·数据科学·智能技术
ha_lydms3 天前
MaxCompute中窗口函数
大数据·hadoop·阿里云·云计算·dataworks·maxcompute·odps
GPU实战笔记3 天前
云端 GPU 暂停任务:如何把短期关机与七天资源释放边界分开判断?
云计算·云服务器·数据盘·gpu云计算·实例生命周期