openstack安装部署指南翻译系列之环境配置

author author     2022-09-30     505

关键词:

1.1.1. 环境配置

为了最大限度地减少混乱并为OpenStack提供更多资源,建议最少安装Linux发行版。此外,必须在每个节点上安装64位版本的发行版。

环境选项主要包括以下几个部分:

安全

主机网络

网络时间协议(NTP)

OpenStack包

SQL数据库

消息队列

Memcached

1.1.1.1. 安全

OpenStack服务支持各种安全方法,包括密码,策略和加密。另外,包括数据库服务器和消息代理在内的支持服务支持密码安全性。

为了简化安装过程,本指南仅适用于密码安全性。建议使用pwgen等工具生成或运行以下命令:

$ openssl rand -hex 10

对于OpenStack服务,本指南SERVICE_PASS引用服务帐户密码SERVICE_DBPASS引用数据库密码。

下表提供了指南中需要密码及其相关参考的服务列表。

密码名称

描述

数据库密码(未使用变量)

数据库的根密码

ADMIN_PASS

用户密码 admin

CINDER_DBPASS

Block Storage服务的数据库密码

CINDER_PASS

块存储服务用户的密码 cinder

DASH_DBPASS

仪表板的数据库密码

DEMO_PASS

用户密码 demo

GLANCE_DBPASS

图像服务的数据库密码

GLANCE_PASS

图像服务用户的密码 glance

KEYSTONE_DBPASS

身份服务的数据库密码

METADATA_SECRET

元数据代理的密码

NEUTRON_DBPASS

网络服务的数据库密码

NEUTRON_PASS

网络服务用户密码 neutron

NOVA_DBPASS

计算服务的数据库密码

NOVA_PASS

计算服务用户的密码 nova

PLACEMENT_PASS

Placement服务用户的密码 placement

RABBIT_PASS

RabbitMQ用户的密码 openstack

 

OpenStack和支持服务在安装和操作期间需要管理权限。在某些情况下,服务会对主机进行修改,从而干扰部署自动化工具(如 Ansible, Chef,  Puppet)。例如,一些OpenStack服务添加一个根包装器sudo可能会干扰安全策略。

 

网络服务假定内核网络参数的默认值,并修改防火墙规则。为了避免在初始安装过程中出现的大多数问题,建议在主机上使用受支持发行版的仓库部署。但是,如果选择自动部署主机,请在继续进行之前查看应用于其的配置和策略。

1.1.1.2. 主机网络

在选择部署的体系结构的每个节点上安装操作系统后,必须配置网络接口。建议禁用任何自动化网络管理工具,并手动编辑分发版本的相应配置文件。有关如何在发行版上配置网络的更多信息,请参阅文档。

所有节点需要Internet访问用于管理目的,如软件包安装,安全更新,DNSNTP。在大多数情况下,节点应通过管理网络接口获取Internet访问。为了突出显示网络分离的重要性

 

在提供商provider网络架构中,所有实例都直接附加到提供商网络。在自助self-service(私有)网络架构中,实例可以附加到自助服务或提供商网络。自助服务网络可以完全驻留在OpenStack中,或者通过提供商网络使用NAT提供一定程度的外部网络访问。

下面的示例架构为提供商(外部)网络使用可路由的IP地址空间,并假设物理网络基础架构提供直接的Internet访问。管理网络使用专用地址空间,并假设物理网络基础架构通过NAT 或其他方法提供Internet访问。

技术分享

示例架构假设使用以下网络:

10.0.0.0/24管理,网关10.0.0.1

该网络需要网关为所有节点提供Internet访问,用于管理目的,如软件包安装,安全更新,DNSNTP

 

提供商203.0.113.0/24,网关203.0.113.1

该网络需要一个网关来为OpenStack环境中的实例提供Internet访问。

可以修改这些范围和网关以使用特定网络基础设施。

网络接口名称因分布而异。传统上,接口使用eth后跟顺序号。为了涵盖所有变体,本指南将第一个接口作为具有最小数量的接口,第二个接口作为具有最高数量的接口。

 

除非打算使用此示例体系结构中提供的确切配置,否则必须修改此过程中的网络以匹配实际环境。除了IP地址外,每个节点都必须通过名称解析其他节点。例如,该controller名称必须解析为10.0.0.11控制器节点上的管理接口的IP地址。

 

警告重新配置网络接口将中断网络连接。我们建议使用本地终端会话进行这些过程。

 

注意默认情况下,RHELCentOSSUSE发行版启用限制性防火墙。Ubuntu没有。

1.1.1.1.1. 控制器节点网络

一、配置网络接口

 

1、配置第一个接口为管理接口:

IP地址:10.0.0.11

网络掩码:255.255.255.0(或/24

默认网关:10.0.0.1

 

2、提供者provider接口使用特殊配置,而不分配IP地址。将第二个接口配置为provider接口:

替换INTERFACE_NAME为实际的接口名称。例如, eth1ens224

 

编辑/etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME文件以包含以下内容:

不要改变HWADDRUUID键。

 

DEVICE=INTERFACE_NAME

TYPE=Ethernet

ONBOOT="yes"

BOOTPROTO="none"

 

3、重新启动系统以激活更改。

 

二、配置名称解析

设置节点的主机名controller

编辑/etc/hosts文件以包含以下内容:

# controller

10.0.0.11       controller

 

# compute1

10.0.0.31       compute1

 

# block1

10.0.0.41       block1

 

# object1

10.0.0.51       object1

 

# object2

10.0.0.52       object2

 

警告一些发行版在/etc/hosts 文件中添加一个无关的条目,将实际的主机名解析为另一个回送IP地址,例如127.0.1.1。您必须注释掉或删除此条目以防止名称解析问题。 不要删除127.0.0.1条目。

 

 

1.1.1.1.2. 计算节点

一、配置网络接口

1配置第一个接口为管理界面:

IP地址:10.0.0.31

网络掩码:255.255.255.0(或/ 24

默认网关:10.0.0.1

 

注意其他计算节点应使用10.0.0.32,10.0.0.33等。

 

2提供者provider接口使用特殊配置,而不分配IP地址。将第二个接口配置为提供provider接口:

替换INTERFACE_NAME为实际的接口名称。例如, eth1ens224

 

编辑/etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME文件以包含以下内容:

不要改变HWADDRUUID键。

 

DEVICE=INTERFACE_NAME

TYPE=Ethernet

ONBOOT="yes"

BOOTPROTO="none"

 

3、重新启动系统以激活更改。

 

二、配置名称解析

1设置节点的主机名compute1

2编辑/etc/hosts文件以包含以下内容:

 

# controller

10.0.0.11       controller

 

# compute1

10.0.0.31       compute1

 

# block1

10.0.0.41       block1

 

# object1

10.0.0.51       object1

 

# object2

10.0.0.52       object2

 

警告一些发行版在/etc/hosts 文件中添加一个无关的条目,将实际的主机名解析为另一个回送IP地址,例如127.0.1.1。您必须注释掉或删除此条目以防止名称解析问题。 不要删除127.0.0.1条目。

注意本指南包括可选服务的主机条目,以便在选择部署它们时降低复杂性。

1.1.1.1.3. 块存储节点

 

如果要部署块存储服务,请配置一个额外的存储节点。

 

一、配置网络接口

配置管理界面:

IP地址: 10.0.0.41

网络掩码:(255.255.255.0/24

默认网关: 10.0.0.1

 

二、配置名称解析

1、设置节点的主机名block1

2、编辑/etc/hosts文件以包含以下内容:

 

# controller

10.0.0.11       controller

 

# compute1

10.0.0.31       compute1

 

# block1

10.0.0.41       block1

 

# object1

10.0.0.51       object1

 

# object2

10.0.0.52       object2

警告:一些发行版在/etc/hosts 文件中添加一个无关的条目,将实际的主机名解析为另一个回送IP地址,例如127.0.1.1。您必须注释掉或删除此条目以防止名称解析问题。 不要删除127.0.0.1条目。

 

1.1.1.1.4. 验证连接

 

在继续进行之前验证到Internet和节点之间的网络连接。

 

1、从控制器节点,测试访问Internet

ping -c 4 openstack.org

2、从控制器节点,测试访问计算节点上的管理接口 :

ping -c 4 compute1

3、从计算节点,测试访问Internet

ping -c 4 openstack.org

4、从计算节点,测试访问控制器节点上的管理界面 :

ping -c 4 controller

 

注意默认情况下,RHELCentOSSUSE发行版启用限制性防火墙。在安装过程中,某些步骤将失败,除非更改或禁用防火墙。

默认情况下,Ubuntu不启用限制性防火墙。


1.1.1.1. 网络时间协议(NTP

为了在节点之间正确同步服务,可以安装Chrony,即NTP的实现。将控制器节点配置为引用更准确的时间服务器,其他节点引用控制器节点作为时间服务器。

 

1.1.1.1.1. 控制器节点

在控制器节点上执行这些步骤。

 

1、安装软件包:

# yum install chrony

2/etc/chrony.conf根据环境的需要编辑文件并添加,更改或删除这些密钥:

server NTP_SERVER iburst

替换NTP_SERVER为适合更准确(较低层)NTP服务器的主机名或IP地址。该配置支持多个server

注意

默认情况下,控制器节点通过公共服务器池同步时间。但是,您也可以选择配置其他服务器,如组织提供的服务器。

3、要使其他节点能够连接到控制器节点上的chrony守护程序,请将此密钥添加到/etc/chrony.conf 文件中:

allow 10.0.0.0/24

如有必要,请更换10.0.0.0/24您的子网的描述。

4、重新启动NTP服务:

# systemctl enable chronyd.service

# systemctl start chronyd.service

 

1.1.1.1.2. 其他节点

其他节点引用控制器节点进行时钟同步。在所有其他节点上执行这些步骤。

 

1、安装软件包

# yum install chrony

 

2、编辑/etc/chrony.conf文件并注释掉或除去一个server键以外的所有内容。更改它以引用控制器节点:

server controller iburst

3、注释掉 pool 2.debian.pool.ntp.org offline iburst  这一行。

 

4、重新启动NTP服务。

 

# systemctl enable chronyd.service

# systemctl start chronyd.service

 

1.1.1.1.3. 验证操作

在继续进行之前验证NTP同步。某些节点,特别是引用控制器节点的节点可能需要几分钟才能同步。

 

在控制器节点上运行此命令:

# chronyc sources

 

在所有其他节点上运行相同的命令:

#chronyc sources


“ 名称/IP地址”列中的内容应指示控制器节点的主机名。

1.1.1.2. 
OpenStack安装

由于发布时间表的不同,分发版将OpenStack包作为发布的一部分或使用其他方法。在所有节点上执行这些过程。

注意

这里描述的OpenStack包的设置需要在所有节点上完成:控制器,计算和块存储节点。

警告

主机必须包含可用于发行版的最新版本的基本安装包,然后再继续。

注意

禁用或删除任何自动更新服务,因为它们可能会影响OpenStack环境。

 

 

1.1.1.2.1. 用于CentOSOpenStack软件包

一、启用OpenStack存储库

CentOS上,extras存储库提供启用OpenStack存储库的RPMextras默认情况下,CentOS包含存储库,因此可以直接安装该软件包以启用OpenStack存储库。

安装Pike版本时,请运行:

# yum install centos-release-openstack-pike

RHEL上,下载并安装RDO存储库RPM以启用OpenStack存储库。

# yum install https://rdoproject.org/repos/rdo-release.rpm

RDO存储库RPM安装最新的可用OpenStack版本。

 

二、完成安装

升级所有节点上的软件包:

# yum upgrade

注意

如果升级过程包括新内核,请重新启动主机以激活它。

安装OpenStack客户端:

# yum install python-openstackclient

RHELCentOS 默认启用SELinux。安装 openstack-selinux软件包以自动管理OpenStack服务的安全策略:

# yum install openstack-selinux

1.1.1.3. SQL数据库

大多数OpenStack服务使用SQL数据库来存储信息。数据库通常在控制器节点上运行。本指南中的步骤使用MariaDBOpenStack服务还支持其他SQL数据库,包括 PostgreSQL

 

一、安装和配置组件

1、安装软件包:

# yum install mariadb mariadb-server python2-PyMySQL

2、创建并编辑/etc/my.cnf.d/openstack.cnf文件并完成以下操作:

创建一个[mysqld]部分,并将bind-address 密钥设置为控制器节点的管理IP地址,以便其他节点通过管理网络进行访问。设置其他键以启用有用的选项和UTF-8字符集:

[mysqld]

bind-address = 10.0.0.11

 

default-storage-engine = innodb

innodb_file_per_table = on

max_connections = 4096

collation-server = utf8_general_ci

character-set-server = utf8

二、完成安装

1、启动数据库服务并将其配置为在系统引导时启动:

# systemctl enable mariadb.service

# systemctl start mariadb.service

2、通过运行mysql_secure_installation 脚本来保护数据库服务。特别是为数据库root帐户选择合适的密码 :

mysql_secure_installation

1.1.1.4. 消息队列

OpenStack使用消息队列来协调服务之间的操作和状态信息。消息队列服务通常在控制器节点上运行。OpenStack支持多种消息队列服务,包括RabbitMQQpidZeroMQ。然而,大多数包OpenStack的发行版都支持特定的消息队列服务。本指南实现了RabbitMQ消息队列服务,因为大多数发行版都支持它。如果您希望实现不同的消息队列服务,请参阅与之相关的文档。

消息队列在控制器节点上运行。

1、安装包:

# yum install rabbitmq-server

2、启动消息队列服务并将其配置为在系统启动时启动:

# systemctl enable rabbitmq-server.service

# systemctl start rabbitmq-server.service

3、添加openstack用户:

# rabbitmqctl add_user openstack RABBIT_PASS

Creating user "openstack" ...


更换RABBIT_PASS一个合适的密码。

 

4、允许用户的配置,写入和读取访问 openstack

# rabbitmqctl set_permissions openstack ".*" ".*" ".*"

Setting permissions for user "openstack" in vhost "/" ...

 

1.1.1.5. Memcached

身份服务身份验证机制使用Memcached缓存令牌。memcached服务通常在控制器节点上运行。对于生产部署,建议启用防火墙,身份验证和加密的组合来保护它。

1、安装软件包:

# yum install memcached python-memcached

2、编辑/etc/sysconfig/memcached文件并完成以下操作:

配置服务以使用控制器节点的管理IP地址。这是为了允许其他节点通过管理网络进行访问:

OPTIONS="-l 127.0.0.1,::1,controller"

 

注意

更改现有行。OPTIONS="-l 127.0.0.1,::1"

 

3、启动Memcached服务并将其配置为在系统启动时启动:

systemctl 使 memcached.service

systemctl启动memcached.service


本文出自 “yuweibing的技术博客” 博客,请务必保留此出处http://yuweibing.blog.51cto.com/3879355/1981172

openstack安装部署指南翻译系列之horizon服务安装(dashboad)

1.1.1.1. Horizon服务安装(Dashboad)本节介绍如何在控制器节点上安装和配置仪表板。仪表板所需的唯一核心服务是身份服务。您可以使用仪表板与其他服务(如镜像服务,计算和网络)结合使用。您还可以在具有独立服务(如... 查看详情

openstack安装部署指南翻译系列之keystone服务安装(identity)

OpenStack系统由分开安装的几个关键服务组成。这些服务可根据其他云需求一起工作,包括计算(Compute),身份(Identity),网络(Networking),镜像(Image),块存储(BlockStorage),对象存储(ObjectStorage),计量(Telemetry),编... 查看详情

openstack安装部署指南翻译系列之概况

...Nova服务安装(Compute )1.1.1.1.1. 计算服务概述使用OpenStackCompute来托管和管理云计算系统。OpenStackCompute是基础架构即服务(IaaS)系统的主要部分。主要模块是用Python实现的。 OpenStackCompute与OpenStackIdentity进行交互以进行... 查看详情

openstack安装部署指南翻译系列之manila服务安装(sharestorage)

....1.1. Manila服务安装(ShareStorage)1.1.1.1.1. 服务概述OpenStack共享文件系统服务(manila)为虚拟机提供文件存储。共享文件系统服务提供了一个管理和配置文件共享的集合。该服务还支持共享类型的管理以及支持共享快照,前... 查看详情

openstack安装部署指南翻译系列之硬件需求

650)this.width=650;"src="https://docs.openstack.org/install-guide/_images/hwreqs.png"width="714"height="630"alt="hwreqs.png"/>1.1.1.1. 控制节点控制器节点运行身份服务,镜像服务,计算的管理部分,网络的管理部分,各种网络代理和仪表板。它还包括支... 查看详情

openstack安装部署指南翻译系列之网络

网络包括两种类型,网络选项1:提供商网络(Providernetworks)和网络选项2:自助网络(Self-servicenetworks),其中网络选项2:自助网络(Self-servicenetworks)能够实现更加高级的网络功能,能够实现网络选项1的所有功能,因此我们的... 查看详情

openstack安装部署指南翻译系列之说明(pike版本官网翻译)

...原理和基础的安装步骤,是很难定位和解决问题的。现在Openstack的部署有很多可选项,主要有:1)根据社区官网最基础的安装文档根据设计对每一个service组件进行安装,这种安装方式最基础,全手工;2)使用Mirantis公司的Fuel工... 查看详情

openstack安装部署指南翻译系列之cinder服务安装(blockstorage)

1.1.1.1. Cinder服务安装(BlockStorage)块存储服务(cinder)为访客实例提供块存储设备。存储设置方法由块存储驱动程序确定,或者在多后端配置的情况下确定驱动程序。有各种可用的驱动程序:NAS/SAN,NFS,iSCSI,Ceph等。块存储... 查看详情

openstack安装部署指南翻译系列之glance服务安装(image)

...以存储通过ImageService在各种位置(从简单的文件系统到像OpenStackObjectStorage这样的对象存储系统)提供的虚拟机镜像。 重要 查看详情

openstack安装部署指南翻译系列之启动一个实例

本节创建必要的虚拟网络以支持启动实例。网络选项1包括一个提供者provider(external)网络,一个实例使用它。网络选项2包括一个提供商provider网络,一个实例使用它,一个自助服务(private)网络与一个使用它的实例。本节中的... 查看详情

openstack之kolla部署指南(容器化方式)

现在Openstack社区的安装部署方式已经开始推荐使用kolla进行部署,kolla项目现在包括两个子项目:kolla-ansible和kolla-kubernetes,其中kolla-ansible应用于生产环境案例多些并且使用广泛一些,本文档kolla是指kolla-ansible。 kolla-ansible项... 查看详情

openstack部署之搭建一个测试环境

一、虚拟机安装1、根据规划创建虚拟机2、安装ubuntu14.04二、网络配置1、根据规划,在vmwareworkstation中创建好对应的虚拟网络650)this.width=650;"src="http://s3.51cto.com/wyfs02/M00/8B/A1/wKioL1hTdlDCtciVAAAWXhDF1is217.png-wh_500x0-wm_3-wmp_4-s_901232 查看详情

openstack部署之实验环境准备

 一、实验配置角色处理器内存磁盘/块网卡/块Linux安装的服务控制器14G50G/12Ubuntu14.04身份认证服务,镜像服务,计算服务的管理部分,网络服务的管理部分,多种网络代理以及仪表板。也需要包含一些支持服务,例如:SQL数据... 查看详情

mongodb系列之window环境部署配置(代码片段)

在学习MongoDB的一些常用命令之前还是需要安装部署好开发环境的,本博客基于Window系统介绍MongoDB的一些常规安装部署配置1、实验环境MongoDBServer5.0.9Navicat15.0.28RoboMongo0.9.0Window10系统2、下载MongoDBServer去官网下载https://www.mongodb.... 查看详情

openstackpike版安装openstack服务续基本环境部署

安装openstack服务所有openstack服务的安装指南链接:https://docs.openstack.org/pike/install/最小化部署,需要按照下面指定的顺序安装以下服务: Identityservice–keystoneinstallationforPike Imageservice–glanceinstallationforPike Com 查看详情

openstack安装部署(代码片段)

openstack的部署安装一一、OpenStack环境配置一、配置项目1、改名三台主机名2、关闭防火墙3、配置host文件4、免交户5、配置NDS6、配置网卡7、安装依赖环境8、时间同步二、系统环境配置2、安装RabbitMQ3、安装memcached一、OpenStack环境... 查看详情

openstack安装部署(代码片段)

openstack的部署安装一一、OpenStack环境配置一、配置项目1、改名三台主机名2、关闭防火墙3、配置host文件4、免交户5、配置NDS6、配置网卡7、安装依赖环境8、时间同步二、系统环境配置2、安装RabbitMQ3、安装memcached一、OpenStack环境... 查看详情

openstack-t版部署之环境部署!(代码片段)

openstack-T版环境部署一.实验准备1.虚拟机资源准备2.基础环境配置(1)修改主机名(2)关闭防火墙、核心防护(3)设置网卡,每个节点添加网卡①ct控制节点②c1计算节点③c2计算节点(4)配置... 查看详情