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

相关推荐
Elastic 中国社区官方博客1 小时前
如何将数据从 AWS S3 导入到 Elastic Cloud - 第 3 部分:Elastic S3 连接器
大数据·elasticsearch·搜索引擎·云计算·全文检索·可用性测试·aws
九河云1 小时前
如何选择适合的AWS EC2实例类型
服务器·云计算·aws
Huaqiwill4 小时前
Ubuntun搭建并行计算环境
linux·云计算
为什么这亚子5 小时前
九、Go语言快速入门之map
运维·开发语言·后端·算法·云原生·golang·云计算
划水小将军6 小时前
阿里云函数计算GBK编码
阿里云·云计算
沈艺强7 小时前
云计算答案
云计算
Thanks_ks9 小时前
探索计算机互联网的奇妙世界:从基础到前沿的无尽之旅
物联网·云计算·区块链·tcp/ip协议·计算机互联网·万维网·未来科技
IT技术分享社区10 小时前
C#实战:使用腾讯云识别服务轻松提取火车票信息
开发语言·c#·云计算·腾讯云·共识算法
九河云16 小时前
AWS账号注册费用详解:新用户是否需要付费?
服务器·云计算·aws
神一样的老师16 小时前
利用亚马逊AWS IoT核心和MQTT进行数据采集的综合指南
云计算·aws