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

1.1.1. 环境配置

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

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

l 安全

l 主机网络

l 网络时间协议(NTP)

l OpenStack包

l SQL数据库

l 消息队列

l 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访问用于管理目的,如软件包安装,安全更新,DNS和 NTP。在大多数情况下,节点应通过管理网络接口获取Internet访问。为了突出显示网络分离的重要性

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

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

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

10.0.0.0/24管理,网关10.0.0.1

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

提供商203.0.113.0/24,网关203.0.113.1

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

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

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

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

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

注意:默认情况下,RHEL,CentOS和SUSE发行版启用限制性防火墙。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为实际的接口名称。例如, eth1或ens224。

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

不要改变HWADDR和UUID键。

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为实际的接口名称。例如, eth1或ens224。

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

不要改变HWADDR和UUID键。

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

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

默认情况下,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. 用于CentOS的OpenStack软件包

一、启用OpenStack存储库

在CentOS上,extras存储库提供启用OpenStack存储库的RPM。extras默认情况下,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

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

# yum install openstack-selinux

1.1.1.3. SQL数据库

大多数OpenStack服务使用SQL数据库来存储信息。数据库通常在控制器节点上运行。本指南中的步骤使用MariaDB。OpenStack服务还支持其他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支持多种消息队列服务,包括RabbitMQ, Qpid和ZeroMQ。然而,大多数包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

时间: 2024-10-16 16:38:41

Openstack 安装部署指南翻译系列 之 环境配置的相关文章

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

从部署实践来看,部署工作有两大困难,一个是架构设计,一个是排查错误.其中,当部署过程中出现错误,需要排查的时候,如果不了解基础的系统结构原理和基础的安装步骤,是很难定位和解决问题的. 现在Openstack的部署有很多可选项,主要有: 1)根据社区官网最基础的安装文档根据设计对每一个service组件进行安装,这种安装方式最基础,全手工: 2)使用Mirantis公司的Fuel工具进行部署.这种部署方式非常高效,界面友好,Fuel工具真正实现了一键部署,只要设计好网络和功能节点分布,一键部署完成

Openstack 安装部署指南翻译系列 之 Manila服务安装(Share Storage)

1.1.1.1. Manila服务安装(Share Storage) 1.1.1.1.1. 服务概述 OpenStack共享文件系统服务(manila)为虚拟机提供文件存储.共享文件系统服务提供了一个管理和配置文件共享的集合.该服务还支持共享类型的管理以及支持共享快照,前提是需要驱动程序支持. 共享文件系统服务由以下组件组成: manila-api 验证请求并将其路由到共享文件系统服务的WSGI应用程序. manila-data 一个独立的服务,其目的是处理数据操作,如复制,共享迁移或备份. m

Openstack 安装部署指南翻译系列 之 Glance服务安装(Image)

1.1.1.1. ance服务安装(Image) 1.1.1.1.1. 镜像服务概述 镜像服务(Glance)使用户能够发现,注册和检索虚拟机镜像.它提供了一个 REST API,可让您查询虚拟机镜像元数据并检索实际镜像.可以存储通过Image Service在各种位置(从简单的文件系统到像OpenStack Object Storage这样的对象存储系统)提供的虚拟机镜像. 重要:为了简单起见,本指南介绍如何配置Image服务以使用file后端,后端上传并存储在托管Image服务的控制器节点上

Openstack 安装部署指南翻译系列 之 Neutron服务安装(Networking)

1.1.1.1. Neutron服务安装(Networking) 本章介绍如何使用提供商网络或自助服务网络选项安装和配置网络服务(Neutron). OpenStack Networking(Neutron)允许您创建并附加由其他OpenStack服务管理的接口设备到网络.可以实现插件以适应不同的网络设备和软件,为OpenStack架构和部署提供灵活性. 1.1.1.1.1. 网络服务概述 它包括以下组件: 2 neutron-server 接受并将API请求路由到相应的OpenStack Ne

Openstack 安装部署指南翻译系列 之 Keystone服务安装(Identity)

OpenStack系统由分开安装的几个关键服务组成.这些服务可根据其他云需求一起工作,包括计算(Compute),身份(Identity),网络(Networking),镜像(Image),块存储(Block Storage),对象存储(Object Storage),计量(Telemetry),编排(Orchestration)和数据库(Database)服务.可以单独安装任何这些项目,并将其配置为独立的或连接的实体. 本节介绍如何在控制器节点上安装和配置OpenStack Identity服

Openstack 安装部署指南翻译系列 之 Cinder服务安装(Block Storage)

1.1.1.1. Cinder服务安装(Block Storage) 块存储服务(cinder)为访客实例提供块存储设备.存储设置方法由块存储驱动程序确定,或者在多后端配置的情况下确定驱动程序.有各种可用的驱动程序:NAS / SAN,NFS,iSCSI,Ceph等. 块存储API和调度器服务通常在控制器节点上运行.根据使用的驱动程序,卷服务可以在控制器节点,计算节点或独立存储节点上运行. 本节介绍如何为块存储服务安装和配置存储节点.为了简单起见,此配置引用一个具有空的本地块存储设备的存储节点.

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

网络包括两种类型,网络选项1:提供商网络(Provider networks)和网络选项2:自助网络(Self-service networks),其中网络选项2:自助网络(Self-service networks)能够实现更加高级的网络功能,能够实现网络选项1的所有功能,因此我们的项目选择网络选项2:自助网络(Self-service networks).以下是虚拟网络选项的说明: 1.1.1.1. 网络选项1:提供商网络(Provider networks) 提供商网络选项以最简单的方式部

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

1.1.1.1. 控制节点 控制器节点运行身份服务,镜像服务,计算的管理部分,网络的管理部分,各种网络代理和仪表板.它还包括支持服务,如SQL数据库,消息队列和NTP. 可选地,控制节点运行块存储,对象存储,编排和计量服务的部分. 控制器节点至少需要两个网络接口. 1.1.1.2. 计算节点 计算节点运行虚拟机实例的Compute 的管理程序部分.默认情况下,Compute使用KVM虚拟机管理程序.计算节点还运行网络服务代理,将实例连接到虚拟网络,并通过安全组向实例提供防火墙服务. 可以部署多个

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

本节创建必要的虚拟网络以支持启动实例.网络选项1包括一个提供者provider(external)网络,一个实例使用它.网络选项2包括一个提供商provider网络,一个实例使用它,一个自助服务(private)网络与一个使用它的实例.本节中的说明使用控制器节点上的命令行界面(CLI)工具.但是,可以按照安装工具的任何主机上的说明进行操作.有关CLI工具的更多信息,请参阅Pike的 OpenStackClient文档.要使用仪表板(dashboard),请参阅仪表板(dashboard)用户文档