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

相关推荐
wanhengidc4 分钟前
在线服务器的应用场景都有哪些?
运维·服务器·科技·游戏·智能手机·云计算
翼龙云_cloud1 小时前
阿里云渠道商:轻量应用服务器连接常见问题与解决指南
服务器·阿里云·云计算
翼龙云_cloud2 小时前
亚马逊云渠道商:新手怎么利用AWS Lightsail部署 WordPress?
运维·服务器·云计算·aws
VermiliEiz2 小时前
使用二进制文件方式部署kubernetes(1)
kubernetes·云计算
捷智算云服务3 小时前
A100云主机租赁价格贵吗?具体费用是多少?
服务器·人工智能·云计算·gpu算力
The star"'4 小时前
ELK企业日志分析系统
运维·elk·云计算
iReachers4 小时前
极速AI助手如何使用免费的阿里云的大模型
人工智能·阿里云·云计算
Serverless 社区4 小时前
阿里云 Serverless 计算 11 月产品动态
阿里云·serverless·云计算
TG:@yunlaoda360 云老大5 小时前
如何了解腾讯云国际站代理商CSS的服务流程是怎样的?
css·云计算·腾讯云
gaize12135 小时前
火山云与腾讯云价格及机型分析
服务器·云计算